Welcome to my full-stack application project! This repository showcases a comprehensive application developed using Angular 14 for the frontend and .NET 6 for the backend, covering key aspects of modern web development and security.
- Video Url: https://youtu.be/rctRpT6copI
- Login & Registration: Secure user sign-up and sign-in processes.
- Role Management: Admin interface for managing user roles.
- Role-Based Access: Restrict access to pages based on user roles.
- JWT Authentication: Implemented JWT for secure user sessions.
- Bearer Token: Secure API calls with bearer tokens.
- Password Management: Password reset and change via email link.
- Refresh Tokens: Automatic token refresh to maintain user sessions.
- Angular Guards: Protect routes based on user authentication and authorization.
- Interceptors: Handle HTTP requests and responses seamlessly.
- GitHub Actions: Automated build validation to ensure code quality.
- Frontend: Angular 14, HTML, CSS, TypeScript
- Backend: .NET 6, C#, Entity Framework Core
- Authentication: JWT, Bearer Tokens
- DevOps: GitHub Actions for CI/CD
- Database: SQL Server
- Deepened understanding of full-stack development.
- Gained practical experience in implementing robust security measures.
- Enhanced skills in managing user roles and permissions.
- Learned to automate builds and improve code quality with CI/CD.
This project was a fantastic opportunity to explore the integration of frontend and backend technologies, focusing on secure and efficient user management. The hands-on experience with JWT, refresh tokens, and role-based access has been invaluable. Additionally, implementing GitHub Actions for continuous integration has streamlined the development workflow.
To get started with this project, follow these steps:
Clone the repository:
git clone https:/github.com/amarjeetsahoo/JWTAuth.git
cd JWTAuth
For Angular,
cd clientapp
- npm install
- npm start
For .NET,
cd API
- dotnet restore
Update the connection string in appsettings.json
- dotnet ef database update
- dotnet run