A proof-of-concept project focused on designing and implementing an authentication system. The application is built using Next.js and Spring Boot.
Next.jsReactTypeScriptJavaSpring Boot
- Email-based authentication with session management
- OAuth authentication flow
- Email verification, 2FA and password recovery
In my previous projects, I did not dive deep into auth systems as they would either be handled by third party services like Firebase or they were not a primary focus. So, I wanted to build this project to understand the behind the scenes of an auth system while also learning about how these systems could be compromised and potential vulnerabilities.
This project consists of a frontend and backend that need to be run separately.
- Navigate to the
backend/authfolder
cd backend/auth- Run the Spring Boot Application
./mvnw spring-boot:run- The backend server will run on
http://localhost:8080
- Navigate to the
frontendfolder
cd frontend- Install dependencies:
npm install- Run development server:
npm run dev- Open
http://localhost:3000in your browser