Live Production Environment: https://trainlink-angular.vercel.app/ Portfolio and Detailed Case Study: https://www.calldevx.tech
TrainLink is a high-performance, full-stack scheduling and user management platform. Built with a decoupled architecture, it bridges the gap between trainers and members through a highly secure, role-driven ecosystem. The system leverages an optimized Angular frontend and a blazing-fast .NET Core Web API driven by raw SQL stored procedures.
- Performance: Implemented Lazy Loading to split code into manageable chunks, drastically reducing initial load times.
- State & Data Flow: Utilized centralized Angular Services for state management and API communication.
- Security & Auth: Configured HTTP Interceptors to silently attach JWT tokens to outgoing requests and handle global error responses.
- UI/UX: Built reusable Routing Layouts, Meaningful Tostr notifications and a fully responsive Dark/Light Theme toggle.
- Authentication: Secured endpoints using industry-standard JWT (JSON Web Tokens).
- Data Validation: Enforced strict, scalable data integrity rules using Fluent Validations before requests hit the database.
- Data Access Layer: Bypassed heavy ORMs in favor of Dapper, executing highly optimized, pre-compiled Stored Procedures directly against the SQL Server.
- Hosting: MonsterASP with strict CORS policies restricted to the Vercel frontend.
- Advanced Role-Based Access Control (RBAC): Engineered a secure permission hierarchy with entirely distinct dashboard layouts and capabilities for Admins (system oversight), Trainers (slot creation), and Members (booking).
- High-Performance Database Operations: Shifted heavy data processing to the database layer using custom Stored Procedures, achieving near-instantaneous query execution via Dapper.
- Dynamic Scheduling Engine: Real-time meeting slot management allowing trainers to broadcast availability and virtual meeting links securely.
- Seamless Theming: Integrated a persistent dark/light mode preference across all role layouts.
To run this project locally, ensure you have Node.js, Angular CLI, and the .NET 8 SDK installed.
git clone https://github.com/MuhammadAsad878/TrainLink.git



