A full-stack web platform designed to simplify and manage the entire practical training process inside universities. The system connects students, training providers, university supervisors, and administrators in one smart digital environment.
The Smart Platform for Students’ Practical Training helps universities digitize internship and training workflows by replacing manual processes with an organized and efficient online system.
The platform allows:
- Students to apply for training opportunities.
- Training providers to manage applicants and evaluate trainees.
- University supervisors to monitor student progress.
- Administrators to control and manage the entire system.
-
Browse available training opportunities.
-
Get AI-powered internship recommendations based on skills.
-
Upload periodic and final reports directly from the dashboard.
-
Track application status:
- Pending
- Accepted
- Rejected
- Publish training opportunities with required skills and details.
- Manage student applications.
- Accept or reject applicants.
- Add evaluations and feedback for trainees.
- Monitor students’ training progress.
- Review submitted reports.
- Approve training hours and reports.
- Manage all users and roles.
- Control registrations and account approvals.
- Activate or deactivate users.
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT Authentication
- HTML5
- CSS3
- JavaScript
- Bootstrap
- Tailwind CSS
- Postman
- Visual Studio Code
Make sure you have the following installed:
- Node.js (v16 or later)
- npm or yarn
- MongoDB Community Server or MongoDB Atlas
- Visual Studio Code
- Live Server Extension (recommended)
- Postman or API dog (optional for API testing)
git clone <your-repository-link>
cd <repository-name>Navigate to the backend folder:
cd backendInstall dependencies:
npm installRun the development server:
npm run devThe backend server will usually run on:
http://localhost:3000Navigate to the frontend folder and open:
index.htmlUsing VS Code:
- Right click on
index.html - Select Open with Live Server
Now the frontend should be connected successfully to the backend.
backend
├── config
├── controllers
├── middlewares
├── models
├── routes
├── utilities
├── app.js
├── index.js
└── package.json
frontend
├── css
├── js
├── index.html
├── login.html
├── student-dashboard.html
├── provider-dashboard.html
├── university-dashboard.html
└── admin-dashboard.htmlThe platform uses:
- JWT Authentication
- Role-Based Access Control (RBAC)
Roles include:
- Student
- Provider
- University Supervisor
- Admin
The platform includes an AI-powered recommendation feature that suggests suitable training opportunities to students based on:
- Skills
- Interests
- Training requirements
The backend API supports:
- Authentication
- User management
- Opportunity management
- Applications system
- Reports management
- Evaluations system
- Dashboard statistics
- Student Dashboard
- Provider Dashboard
- University Dashboard
- Admin Dashboard
- Authentication صفحات تسجيل الدخول
- Visual Studio Code
- Postman for API Testing
- MongoDB Compass
Contributions are welcome!
If you'd like to contribute:
- Fork the repository
- Create a new branch
- Commit your changes
- Open a Pull Request
This project is an educational open-source project available for learning, development, and improvement.
- Real-time notifications
- File storage using cloud services
- Advanced AI recommendation model
- Mobile application version
Developed as a university practical training management system project.