Survey Basket System is a powerful, flexible, and secure survey and polling API built with .NET 8, Entity Framework Core, and JWT Authentication.
This project was a deep dive into modern backend development practices and represents a significant leap in both my knowledge and implementation of scalable, maintainable, and secure web APIs. 🚀
- JWT-Based Authentication for secure access control
- User and Role Management to handle permissions effectively
- Create, manage, and participate in interactive polls
- Designed for easy data collection and user engagement
- Tracks changes and actions across the system
- Promotes transparency and accountability
- Centralized Exception Handling for consistent error responses
- Result Pattern for structured, predictable error feedback
- Automapper / Mapster for clean object-to-object mapping
- Fluent Validation to enforce rules and ensure data quality
- Change/reset password functionality
- Email-based account confirmation and password recovery
- Protects API from abuse
- Ensures fair resource access for all users
- Hangfire Integration for email confirmations, resets, etc.
- Monitor system uptime and service health
- Speeds up data access for frequently used endpoints
- Send confirmation emails and manage password processes seamlessly
- Multiple version support to maintain backward compatibility
- Backend: .NET 8 Web API
- Authentication: JWT (JSON Web Tokens)
- ORM: Entity Framework Core
- Validation: FluentValidation
- Background Jobs: Hangfire
- Caching: Distributed Caching
- Email: SMTP/Email Sender Service
- Mapping: Mapster
- Versioning: ASP.NET Core API Versioning
- Tools: Visual Studio, Postman, Swagger (OpenAPI)
- Clone the repo
git clone https://github.com/ramez00/SurveyBasket.git
cd survey-basket-system