Full Stack application designed for scheduling times to meet with your friends and colleagues, even if everyone has a busy schedule. Built with the mern stack for Fall Intro to Software Engineering class at University of Florida.
Swamp-Sync is a social-media-like platform that simplifies the process of scheduling meetings. Users can manage their schedules, create events, and find common meeting times with friends.
- Full Authentication and Database Storage with MongoDB.
- User Login verified with JWT Token authentication system.
- Generate personal schedules for users stored in backend.
- Create, Edit, and Delete Events for Users and display them in calendar view
- Create meetings and invite users using friend codes, allowing users to accept or deny invites.
- Manage added users and remove them if needed.
- Displays the best time for all users to meet.
Backend: Node.js, Express.js Frontend: React, Material UI, Tailwind Database: MongoDB Containerization: Docker, Docker Compose
- Docker Compose: On Windows, Docker Compose comes with Docker Engine. On Linux, it can be installed manually. See https://docs.docker.com/engine/install/ubuntu/.
-
Clone Repo
-
Set Enviroment Configurations
- Create '.env' file in /wtm-express/ with the following:
MONGO_INITDB_ROOT_USERNAME=rootuser
MONGO_INITDB_ROOT_PASSWORD=rootpass
MONGO_URI=mongodb://rootuser:rootpass@wtm-mongodb:27017/admin
LOCAL_MONGO_URI=mongodb://rootuser:rootpass@localhost:12345/admin
MONGO_INITDB_DATABASE=lamdb
PORT=3004
JWT_SECRET=pAonqkN/rorjS7sXd3ngJHXZJ8bjWVIMA9ZmJPRET8o=
- Build and Start Project
docker compose up --build d
This command starts the wtm-mongodb, wtm-react, wtm-express containers, and establishes a network between them
- Make sure mongodb container is running:
docker compose up wtm-mongodb -d
- create .env file
cd wtm-express
.env file should look like
MONGO_INITDB_ROOT_USERNAME=rootuser
MONGO_INITDB_ROOT_PASSWORD=rootpass
MONGO_URI=mongodb://rootuser:rootpass@wtm-mongodb:27017/admin
LOCAL_MONGO_URI=mongodb://rootuser:rootpass@localhost:12345/admin
MONGO_INITDB_DATABASE=lamdb
PORT=3004
JWT_SECRET=pAonqkN/rorjS7sXd3ngJHXZJ8bjWVIMA9ZmJPRET8o=
- install dependencies and start server
cd wtm-express
npm install
npm start
- go to frontend and startup servers
cd wtm-react
npm install
npm start