A full-stack web application built as part of learning ASP.NET Core and Angular development, featuring user authentication and member management functionality.
practice/
├── API/ # ASP.NET Core Web API
├── client/ # Angular Frontend Application
├── practice.sln # Visual Studio Solution File
└── README.md # This file
- Framework: ASP.NET Core 9.0
- Database: SQLite with Entity Framework Core 9.0.8
- Authentication: JWT Bearer Authentication
- Security:
- Microsoft.AspNetCore.Authentication.JwtBearer 9.0.9
- Microsoft.IdentityModel.Tokens 8.14.0
- System.IdentityModel.Tokens.Jwt 8.14.0
- ORM: Entity Framework Core with SQLite provider
- Development Features:
- CORS enabled for Angular frontend
- Hot reload and development tools
- Framework: Angular 20.3.0 (Latest)
- Language: TypeScript 5.9.2
- Styling:
- Tailwind CSS 4.1.13
- DaisyUI 5.1.12 (Component library)
- Development Tools:
- Angular CLI 20.3.1
- Prettier for code formatting
- SSL enabled for development (HTTPS)
- Testing:
- Jasmine 5.9.0
- Karma 6.4.0
- Architecture:
- Reactive Forms
- RxJS 7.8.0 for reactive programming
- Standalone components (modern Angular approach)
- User registration and login
- JWT token-based authentication
- Password hashing and salting
- Secure token validation
- Account management (registration/login)
- Members management
- Weather forecast (sample endpoint)
- RESTful API design with base controller
- Modern Angular 20 with standalone components
- Responsive design with Tailwind CSS and DaisyUI
- SSL-enabled development server
- TypeScript strict mode enabled
- Optimized build configuration
Id
: Unique identifier (GUID)DisplayName
: User's display nameEmail
: User's email addressPasswordHash
: Hashed passwordPasswordSalt
: Password salt for security
- .NET 9.0 SDK
- Node.js (for Angular)
- SQLite
cd API
dotnet restore
dotnet run
cd client
npm install
npm start
The application will run with:
- API:
https://localhost:5001
(or configured port) - Client:
https://localhost:4200
- JWT token authentication
- Password hashing with salt
- CORS configuration for secure cross-origin requests
- HTTPS enabled for development
- Token validation with symmetric security key
- Code Formatting: Prettier with Angular-specific configuration
- SSL Certificates: Local development certificates for HTTPS
- Hot Reload: Both API and client support hot reload during development
- Testing: Comprehensive testing setup with Jasmine and Karma
This project demonstrates modern full-stack development practices with ASP.NET Core and Angular, implementing secure authentication and following current best practices for both backend and frontend development.