CMPUT404-project-socialdistribution
See the web page for a description of the project.
Make a distributed social network!
Team Members:
- Saahil Rachh (rachh)
- Larissa Zhang (ltzhang)
- Soodarshan Gajadhur (gajadhur)
- Dylan Clarke (dclarke)
- Tauseef Nafee Fattah (fattah)
Generally everything is LICENSE'D under the Apache 2 license by Abram Hindle.
All text is licensed under the CC-BY-SA 4.0 http://creativecommons.org/licenses/by-sa/4.0/deed.en_US
https://snackoverflow-7f593e547e10.herokuapp.com/api/swagger/schema https://snackoverflow-7f593e547e10.herokuapp.com/api/swagger/redoc/
For our logo "Snack Overflow", the original source image comes from a reply to the original post by u/Roadcrosser at this link accessed 2024-02-22. The direct link to the image is available here.
First, install all the dependencies by running:
npm install
# or
npm iThen, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:8000 with your browser to see the result.
For running the django server, have an venv set up at root and install all packages with pip using requirements.txt.
To have static files served locally, go to the frontend/ folder, install all packages with npm i and run npm run build to build a dist/folder.
Then you can at backend/ python manage.py runserver to see the server work properly.
For testing, you can use python manage.py test to get all the tests running.
To deploy remotely, look at the deployment steps at the top level of the repo.
- Django Serializers: https://www.django-rest-framework.org/api-guide/serializers/
- https://stackoverflow.com/questions/58794639/how-to-make-follower-following-system-with-django-model
- https://medium.com/analytics-vidhya/add-friends-with-689a2fa4e41d
- https://www.youtube.com/watch?v=diB38AvVkHw
- https://www.youtube.com/watch?v=Ae7nc1EGv-A
- https://github.com/mui/material-ui/blob/v5.15.10/docs/data/material/getting-started/templates/sign-in/SignIn.js
- heroku/heroku-buildpack-nodejs#385
- https://github.dev/TonyTony999/scrape_2/blob/master/package.json
- https://stackoverflow.com/questions/68590569/heroku-deploy-with-vitejs-error-h10-vite-not-found
- https://elements.heroku.com/buildpacks/heroku/heroku-buildpack-nodejs
- https://stackoverflow.com/questions/51187161/deploy-an-app-to-heroku-that-isnt-in-the-project-root
- https://www.youtube.com/watch?v=fbIFdWj8PsY - Utilized this youtube video to understand how to implement swagger documentation with custom descriptions
- GitHub-Co-pilot helped write the descriptions of the functions for swagger documentation used in views.py (Inside the backend folder)
- https://dev.to/mdrhmn/deploying-react-django-app-using-heroku-2gfa - Utilized this document to understand how to deploy the app. Some of the code was used in settings.py (backend folder)
- https://vonkunesnewton.medium.com/understanding-static-files-in-django-heroku-1b8d2f003977 - Utilized this document to debug the deployment and serve static files
- DjangoAuthentication: https://www.youtube.com/watch?v=diB38AvVkHw
- DjangoAuthentication: https://github.com/dotja/authentication_app_react_django_rest/tree/main
- Custom User Model: https://www.youtube.com/watch?v=Ae7nc1EGv-A
- Custom User Model: https://github.com/veryacademy/YT-Django-Theory-Create-Custom-User-Models-Admin-Testing
- Sign-in page template: https://github.com/mui/material-ui/blob/v5.15.10/docs/data/material/getting-started/templates/sign-in/SignIn.js
- For deployment: heroku/heroku-buildpack-nodejs#385
- For deployment: https://github.dev/TonyTony999/scrape_2/blob/master/package.json
- For deployment: https://stackoverflow.com/questions/68590569/heroku-deploy-with-vitejs-error-h10-vite-not-found
- For deployment: https://elements.heroku.com/buildpacks/heroku/heroku-buildpack-nodejs
- For deployment: https://stackoverflow.com/questions/51187161/deploy-an-app-to-heroku-that-isnt-in-the-project-root