Toilet-Surfing -- where chill people share their toilets with other chill people, inspired by the giving and laid-back culture of couch surfing and by good vibes of surfers in general.
First full-stack solo project. The whole site is contained on the root route /, allowing for a seamless user experience and limiting database queries.
Logged-in users can create, update, and delete toilets as well as create and delete bookings to use toilets in the future.
Try the live site here.
Visit my site wiki to see the database schema, routes, user stories, and feature list (current and planned).
Toilet Surfing uses the following tools, frameworks, and key packages:
- AWS S3
- Bcryptjs
- Express-session
- Express-validator
- Express.js
- Hosted on Heroku
- Node.js
- React
- React Google Maps Api
- Redux
- Sequelize (with PostgreSQL)
Follow these instructions to run Toilet Surfing on your local machine. Note: image uploads and map functionality will not work without a valid AWS key and AWS secret and google Maps API key.
To run the Toilet Surfing application locally, refer to the following instructions:
git clonethis repocdinto the local clone of the repositorycdinto thebackendfolder andnpm install- Create your own
.envfile inbackendandfrontenddirectories based on the.env.examplefiles there - Create a PostgreSQL user that matches the one you identified in your
backend.envfile - Run
npx dotenv sequelize db:createto create the database - If the sequelize module is not found, try running
npx dotenv sequelize-cli db:createand replace sequelize with sequelize-cli for the rest of these commands - Run
npx dotenv sequelize db:migrateto run the migrations - Run
npx dotenv sequelize db:seed:allto seed the database - Open another terminal and
cdinto thefrontenddirectory andnpm install - Run
npm startin both the terminal on your backend and frontend - The React server should open up a browser window with the correct address