A full-stack student management system built with ASP.NET Core Web API and Angular to learn and understand end-to-end web development, REST API design, and database-driven application architecture.
- 5 REST API endpoints (CRUD + filtering)
- Full-stack architecture (Frontend + Backend + Database)
- Entity Framework Core migrations for schema management
- DataTables integration for scalable data handling
This project represents my journey into full-stack development, built during professional training as a Graduate Engineer Trainee. It demonstrates a complete student management workflow connecting Angular forms, REST APIs, and SQL Server database operations in a single cohesive system.
- Built as a hands-on learning project to master .NET and Angular
- Focused on understanding full-stack development patterns and best practices
- Demonstrates practical implementation of CRUD operations, API integration, and relational database design
- Foundation for building more complex enterprise applications
- Building RESTful APIs with ASP.NET Core Web API
- Frontend development with Angular 21 and TypeScript
- Database design and Entity Framework Core migrations
- API-frontend integration and state management
- Form validation on both client and server side
- CORS configuration and API security basics
- Complete CRUD operations for student records
- State-based filtering through API query parameters
- Frontend and backend validation for data integrity
- Separated API and UI codebases for maintainability
- Swagger documentation for API testing
- DataTables for efficient data display and pagination
- Select2 dropdowns for better UX
- DOB & Age Calculation: Replaced manual Age input with a Date of Birth picker that auto-calculates the student's age.
- Loader: Implemented a full-page translucent overlay with a spinner for background API processes.
- Custom Modals: Replaced native browser alerts with custom-designed, animated modals for success, error, and deletion confirmations.
- Form Layout Enhancements: Redesigned both the "Add Student" and new standalone "Edit Student" overlays using an elegant "card within a card" layout.
- Green Theme UI: Customized the DataTable controls, wrapper, rows, and buttons to match the application's sleek green aesthetic.
- Sticky DataTable Controls: Fixed the table headers, search bar, and length selector to stick neatly to the top while scrolling.
While built as a learning project, this architecture pattern can be adapted for:
- Small schools and coaching institutes for digitizing student records
- Educational institutions needing basic student information systems
- Foundation for larger admin portals with role-based access
- Reference implementation for similar CRUD-based applications
- Starting point for enterprise-level student management systems
The chosen stack (Angular + ASP.NET Core + SQL Server) with DataTables integration supports future scaling through:
- API pagination and query optimization
- Database indexing for faster lookups
- Caching strategies for frequently accessed data
- Load balancing and horizontal scaling
- Cloud deployment options (Azure, AWS)
Frontend
- Angular 21 with TypeScript
- HTML5, CSS3
- jQuery, Select2 (UI components)
- DataTables (data display)
Backend
- ASP.NET Core Web API (.NET 10)
- Entity Framework Core (ORM)
- Swagger/OpenAPI (documentation)
Database
- SQL Server
- 2 models (Student, State)
- EF Core migrations
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/students/states |
Fetch all Indian states (29 records) |
| GET | /api/students |
Retrieve all student records |
| GET | /api/students?stateId={id} |
Filter students by state |
| POST | /api/students |
Create new student record |
| PUT | /api/students/{id} |
Update existing student |
| DELETE | /api/students/{id} |
Remove student record |
my-first-web-application/
โโโ StudentApi/ # Backend (.NET Web API)
โ โโโ Controllers/ # API controllers
โ โ โโโ StudentsController.cs
โ โโโ Data/ # Database context
โ โโโ Models/ # Entity models
โ โ โโโ Student.cs
โ โ โโโ State.cs
โ โโโ Migrations/ # EF Core migrations
โ โโโ Program.cs # Application entry point
โ โโโ StudentApi.csproj # Project configuration
โ
โโโ StudentUi/ # Frontend (Angular)
โ โโโ src/
โ โ โโโ app/
โ โ โ โโโ components/ # UI components
โ โ โ โโโ services/ # API services
โ โ โ โโโ models/ # TypeScript models
โ โ โโโ assets/ # Static files
โ โโโ angular.json
โ โโโ package.json
โ โโโ proxy.conf.json # API proxy config
โ
โโโ .gitignore
โโโ LICENSE
โโโ SETUP.md
โโโ API_REFRENCE.md
โโโ README.md
For detailed setup instructions, see SETUP.md
For API documentation, see API_REFERENCE.md
- .NET 10 SDK
- Node.js (v18+) and npm
- SQL Server (LocalDB or Express)
-
Navigate to API directory:
cd StudentApi -
Restore dependencies:
dotnet restore
-
Update database connection string in
appsettings.jsonif needed -
Apply migrations:
dotnet ef database update
-
Run the API:
dotnet run
API will be available at
http://localhost:5000
-
Navigate to UI directory:
cd StudentUi -
Install dependencies:
npm install
-
Start development server:
npm start
Application will open at
http://localhost:4200
Once the API is running, visit: http://localhost:5000/swagger
- No authentication or authorization implemented
- No production deployment configuration
- No audit logging for data changes
- No advanced reporting or analytics
- No file upload functionality
- No email notifications
- JWT-based authentication and role-based access control
- Server-side pagination for large datasets
- Advanced filtering and search capabilities
- Audit trail for all CRUD operations
- Import/export functionality (CSV, Excel)
- Student photo upload and management
- Email notifications for important events
- Analytics dashboard with charts
- Docker containerization
- CI/CD pipeline setup
- Unit and integration tests
This project is licensed under the MIT License - see the LICENSE file for details.
Ritik Pratap Singh Patel
Web Developer
Built with dedication to learn and master full-stack development ๐
This project was developed during professional training to gain hands-on experience with modern web development technologies and best practices.
- SETUP.md - Detailed setup and installation guide
- API_REFERENCE.md - Complete API documentation with examples
- Swagger UI - Available at
http://localhost:5000/swaggerwhen API is running