A fullstack web application built with NextJS for the frontend and Django for the backend, utilizing REST APIs and a Postgres database. This project demonstrates a secure authentication system using Session-based authentication, featuring OTP-based login, email verification based registration, email and phone verification, password reset, and social media login integration. The application starts with a login page where users enter their email and password. Upon successful authentication, an OTP is sent to the user's email for verification. After verifying the OTP, a session is established, and users receive a session ID and CSRF token for accessing protected routes. The user can edit thier profile in the Profile page. The profile image is retrieved from social providers if the account is created using social account. Otherwise a default image is set for password users.
Superusers and Admins have elevated priviliges where they can access the Admin Dashboard and can activate, deactivate, edit or delete an user according to thier priviliges.
For more details, visit the GitHub repository.