This full stack project uses Django as backend and React as frontend. It features login and registration functionality using JWT authentication. Registered users are capable of creating multiple chat rooms where they can chat with others in the same chat room. Other users can join a chat room by request which can be accepted or rejected by the room creator.
Backend code in collaboration with @colbytanderson
- Clone repo
- Install python requirements
- In
./messenger-rest-api/
runpip install -r requirements.pip
- Change directory to
./messenger-rest-api/backend/src/
- Start backend Django server by running the following commands
python manage.py makemigrations
python manage.py migrate
python manage.py startserver
- Install Node modules
- Change directory to
/messenger-rest-api/frontend/
- run
npm i
- Start frontend React server by running
npm run start
- Backend server hosted on localhost:8000
- Frontend server hosted on localhost:3000
Based on backend code, the frontend requires there to be a lobby named "Lobby1" in the backend.
- Change directory to
./messenger-rest-api/backend/src/
- Stop the backend server and run
python manage.py createsuperuser
- Fill out username, email (optional, password fields as desired
- run
python manage.py startserver
- Navigate to localhost:8000/admin/
- Log in with created credentials
- Navigate to Lobbys
- Click Add Lobby in top right
- Create a lobby with title "Lobby1". Description can be filled or not filled as desired
- Click save
- Landing Page
- Light/Dark mode
- Remove dependency on database having Lobby1
- Notifcation for user when a new request or chat message is sent
- Chat encryption
- User profile page