A modern, feature-rich learning management system built with Next.js, focusing on collaborative learning and project-based education.
-
Authentication & User Management
- Secure login and registration
- Password reset functionality
- Role-based access control (Student/Instructor/Admin)
- Profile management with badges
-
Team Collaboration
- Team formation and management
- Real-time chat integration
- Project phase tracking
- Peer review system
-
Course Management
- Course creation and enrollment
- Assignment submission
- Project management
- Progress tracking
-
Communication
- Real-time messaging
- Channel-based discussions
- File sharing capabilities
- Notification system
- Frontend: Next.js
- Database: PostgreSQL
- Authentication: Clerk
- Real-time: WebSocket
POST /api/auth/login
POST /api/auth/register
POST /api/auth/reset-password
GET /api/users/:id
PATCH /api/users/:id
GET /api/users/:id/badges
GET /api/users/:id/teams
POST /api/teams
GET /api/teams/:id
POST /api/projects
GET /api/projects/:id/phases
/
├── src/
│ ├── app/ # Next.js pages
│ ├── components/ # Reusable components
│ ├── lib/ # Database, auth, utilities
│ ├── api/ # API routes
│ └── hooks/ # Custom hooks
├── public/ # Static assets
├── tests/ # Test files
-
Clone the repository
git clone https://github.com/Exo1i/CUStudentCollabSystem.git cd CUStudentCollabSystem -
Install dependencies
npm install
-
Set up environment variables
DATABASE_URL=your_database_url NEXTAUTH_SECRET=your_auth_secret NEXTAUTH_URL=http://localhost:3000
-
Set up the database
npm run schema
-
Start the development server
npm run dev
The application will be available at
http://localhost:3000
- Fork the repository
- Create a new branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Built with ❤️ by
![]() Youssef Noser Full Stack Developer |
![]() Hussien Mohamed Frontend Developer |
![]() Tasneem Ahmad Frontend Developer |
![]() Doha Ahmad Backend Developer |



