A full-stack application for community car sharing and management.
This project consists of:
- Backend API: ASP.NET Core Web API (.NET 9)
- Frontend: Angular 19 client application
- Tests: Unit and integration tests
- JWT Authentication with refresh tokens
- Role-based authorization
- OTP verification
- Social login integration
- Audit logging
- Rate limiting
- Security headers
- Email services
- ASP.NET Core 9
- Entity Framework Core
- SQL Server
- JWT Bearer Authentication
- AutoMapper
- FluentValidation
- Serilog
- Modern Angular 19 application
- Angular Material UI components
- Lazy-loaded modules
- JWT authentication
- Reactive forms
- HTTP interceptors
- Route guards
- Responsive design
- Angular 19
- Angular Material
- RxJS
- TypeScript
- SCSS
- .NET 9 SDK
- Node.js 18+
- npm or yarn
- SQL Server (or other supported database)
- Navigate to
src/CommunityCar.Api - Update
appsettings.jsonwith your database connection - Run migrations:
dotnet ef database update - Start the API:
dotnet run
- Navigate to
ClientApp - Install dependencies:
npm install - Start development server:
npm start - Build for production:
npm run build:prod
POST /api/auth/login- User loginPOST /api/auth/register- User registrationPOST /api/auth/refresh- Refresh access tokenPOST /api/auth/forgot-password- Request password resetPOST /api/auth/reset-password- Reset password
GET /api/profile- Get user profilePUT /api/profile- Update user profile
cd src/CommunityCar.Tests
dotnet testcd ClientApp
npm run test:ci # Headless testing
npm test # Interactive testing- Backend: Follow C# coding standards
- Frontend: Follow Angular style guide
- Use meaningful commit messages
- Write tests for new features
main- Production ready codedevelop- Development branch- Feature branches:
feature/feature-name
dotnet publish -c Release -o ./publishnpm run build:prod- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
This project is licensed under the MIT License.