Survey Basket RESTful API for Survey Management System
Robust and scalable RESTful API built with ASP NET Core following Clean Architecture principles to provide a secure and structured platform for creating managing and participating in surveys with strong data integrity and enforced business rules
Architecture and Design
Built using ASP NET Core Web API with Clean Architecture separating Domain Application Infrastructure and API layers
Clear separation of concerns with centralized exception handling and consistent global error responses
Repository Pattern and Unit of Work for data abstraction and maintainability
Core Features and Business Logic
Full CRUD operations for surveys questions choices and user responses
Business rule enforcement including prevention of duplicate submissions and handling required and optional questions
Relational database design ensuring data consistency and integrity
Layered validation for input and business rules
Data Access and Validation
Entity Framework Core with SQL Server
Repository and Unit of Work patterns
FluentValidation for request validation
DTO based data transfer for secure communication
Object mapping using Mapster and AutoMapper
Security
JWT based authentication
Role based authorization and access control
Secure API endpoints with protected resources
Technology Stack
ASP NET Core Web API
C Sharp
Entity Framework Core
SQL Server
Clean Architecture
Repository Pattern
Unit of Work
FluentValidation
JWT Authentication
Mapster
AutoMapper