Skip to content

Kredam/MyRoom

Repository files navigation

About


Social media platform.
You will be able to follow specific topics you like. You can make your own room, and moderate it. You can search for rooms based on their topics and join them.

Configs

JWT

Server DjangoREST
Database Postgres
Front-end React
UI MUI

Project Management

https://trello.com/b/aZTdasdK/myroom

Screen plan


with Figma TODO

Documentation


  • Entity-Relationship diagram

Features


  • Follow to rooms
  • Login
  • Register
  • Edit rooms where you are an admin
  • List joined rooms
  • List all rooms
  • List Artilces in a specific room (dynamic url)
  • Search
    • Rooms
    • Users
    • Topics

Implemented


Django []

  • Token authorization with JWT
  • Class-based views
  • Serializers
  • Tests

React

  • Interceptors
    • Auth errors
    • Set header to Bearer "Auth Token" for authentication on server
  • Services
  • Models with Interfaces (TypeScript)
  • Routing
  • Observables
  • Reactive Forms
  • Auth guard
  • Material UI

Run

Docker

  1. Pull the postgress image from docker hub
  2. Build the backend and the frontend of the project
  • Change directory into client, then run the following command
    docker build . -t myroom-frontend 
  • Change diretory into backend, then run the following command
    docker build . -t myroom-backend
  1. Run the docker compose from the root of the folder
  docker compose up -d --build
  1. get the myroom-backend container id with the following command
  docker container ls
  1. execute the following commands within the container, when creating superuser type in credentials
  docker exec -it <container_id> python manage.py createsuperuser
  docker exec -it <container_id> python manage.py loaddata room/fixtures/room.json
  1. Then run all the containers in myroom
  2. Now you can view the app on localhost:3001