- User Authentication and Authorization: Secure user authentication using JWT tokens and role-based access control.
- Survey Management: Create, update, delete, and publish surveys.
- Question Management: Add, update, and remove questions within surveys.
- Response Collection: Collect and store survey responses.
- Result Analysis: Analyze survey results with detailed reports.
- Email Notifications: Send email notifications for survey invitations and confirmations.
- Rate Limiting: Protect the API from abuse with IP-based rate limiting.
- Health Checks: Monitor the health of the API with integrated health checks.
- Background Jobs: Manage background tasks using Hangfire.
- Swagger Integration: Interactive API documentation with Swagger.
- ASP.NET Core 8.0
- Entity Framework Core 8.0
- Microsoft Identity
- FluentValidation
- Hangfire
- Serilog
- Swagger
- Mapster
- .NET 8.0 SDK
- SQL Server
- Clone the repository:
git clone https://github.com/yourusername/SurveyBasket.git cd SurveyBasket
- Apply migrations to set up the database:
dotnet ef database update
- Access the Swagger UI at
http://localhost:5000/swagger
to explore and test the API endpoints.
Contributions are welcome! Please read the CONTRIBUTING.md for more information.
This project is licensed under the MIT License. See the LICENSE file for details.
For any inquiries or feedback, please contact yourname@yourdomain.com.