TrainLink is a modern, full-stack meeting and training slot management system. This repository contains the Frontend Client built with Angular 19 and Tailwind CSS 4, designed to provide a seamless experience for Administrators, Trainers, and Members.
| Resource | Link |
|---|---|
| π Live Demo | Click here... |
| π Backend Repo | Coming Soon... |
| π¨βπ» Portfolio | calldevx.tech |
| πΌ LinkedIn | Muhammad Asad |
| Login Successfull Dashboard Overview |

Create a Meeting Slot then add the link to activate that slot

Meeting Slot Page with an active Slot

- π Secure Auth: JWT authentication with auto-refresh, route guards, and session management.
- π Dynamic Dashboard: Real-time statistics, charts (Chart.js), and role-based views.
- π Slot Management: Create, delete, and manage training/meeting slots with one-click link copying.
- π₯ User Control: Admin panel for managing users, roles, and membership expiry.
- π¨ Modern UI: Fully responsive design with Dark/Light mode support using Tailwind CSS.
- Framework: Angular 19
- Styling: Tailwind CSS 4
- Icons: Lucide Angular
- Visuals: Vanta.js, Three.js, Chart.js
- Notifications: ngx-toastr
- HTTP Client: Angular HttpClient (with Interceptors)
Follow these steps to set up the project locally.
- Node.js (v18 or higher)
- Angular CLI (
npm install -g @angular/cli)
git clone [https://github.com/MuhammadAsad878/TrainLink-Client-Angular.git](https://github.com/MuhammadAsad878/TrainLink-Client-Angular.git)
cd TrainLink-Client-Angular
npm install
Create or update src/environments/environment.ts to point to your local or hosted backend API:
export const environment = {
production: false,
apiUrl: 'http://localhost:5000/api' // Update this with your .NET Backend URL
};ng serve
Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
The application follows a modular architecture with strict separation of concerns:
src/app/
βββ components/ # UI Components (Dashboard, Login, Slots)
βββ services/ # API Communication & State Management
βββ guards/ # Auth & Role-Based Route Protection
βββ interceptors/ # JWT Token Injection & Error Handling
βββ layouts/ # AuthLayout vs MainLayout
βββ shared/ # Reusable UI elements (Loaders, Dialogs)
Contributions are welcome! Please fork the repository and create a pull request for any features or bug fixes.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/NewFeature) - Commit your Changes (
git commit -m 'Add NewFeature') - Push to the Branch (
git push origin feature/NewFeature) - Open a Pull Request
Muhammad Asad
- Portfolio: calldevx.tech
- LinkedIn: Connect on LinkedIn
Made with β€οΈ using Angular & .NET



