This is a full-stack web application project with Django (REST-like) Backend and a vanilla Javascript frontend with SPA style frontend. Authentication is handled by JWT and Google Oauth2, backend and frontend communicate via CORS.
Frontend (HTML CSS JS) <---> AJAX/CORS <---> Backend (Django) <---> PostgreSQL
|
| -> Oauth redirect (Google Oauth2)
.github/workflows/
backend/
docs/
docker/
frontend/
tests/
README.md
LICENSE
- Framework: Django with JWT protection
- Database: PostgreSQL
- Keyapps:
-
users/-> Authentications w/JWT and Google Oauth -tasks/-> Task CRUD APIs - Endpoints:
api/login/api/registrationapi/logoutapi/tasks/api/auth/googleapi/auth/google/loginapi/auth/google/callback
- Built with vanilla Javascript (AJAX)
- All pages dynamically rendered
- Communicate via fetch api
- All tokens stored in localstorage
- User chooses default login or Google Oauth
- On success:
- Backend issues JWT & refresh tokens
- Tokens sorted in localstorage
- All api calls include
Authorization : Bearer <access token> - Tokens can be refreshed or invalidate on logout
- Backend: Run with
python3 manage.py runserver - Frontend: Open
frontend/index.htmlin browser or via live server