Skip to content

Exo1i/CU-Student-Collabarotion-System

Repository files navigation

🚀 Learning Management System

A modern, feature-rich learning management system built with Next.js, focusing on collaborative learning and project-based education.

✨ Features

  • 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

🛠️ Tech Stack

  • Frontend: Next.js
  • Database: PostgreSQL
  • Authentication: Clerk
  • Real-time: WebSocket

📋 API Endpoints

Authentication

POST /api/auth/login
POST /api/auth/register
POST /api/auth/reset-password

User Management

GET /api/users/:id
PATCH /api/users/:id
GET /api/users/:id/badges
GET /api/users/:id/teams

Teams & Projects

POST /api/teams
GET /api/teams/:id
POST /api/projects
GET /api/projects/:id/phases

View full API documentation

🗂️ Project Structure

/
├── src/
│   ├── app/          # Next.js pages
│   ├── components/   # Reusable components
│   ├── lib/         # Database, auth, utilities
│   ├── api/         # API routes
│   └── hooks/       # Custom hooks
├── public/          # Static assets
├── tests/          # Test files

🚀 Getting Started

  1. Clone the repository

    git clone https://github.com/Exo1i/CUStudentCollabSystem.git
    cd CUStudentCollabSystem
  2. Install dependencies

    npm install
  3. Set up environment variables

    DATABASE_URL=your_database_url
    NEXTAUTH_SECRET=your_auth_secret
    NEXTAUTH_URL=http://localhost:3000
  4. Set up the database

    npm run schema
  5. Start the development server

    npm run dev

    The application will be available at http://localhost:3000

🤝 Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

👥 Team

Built with ❤️ by

Youssef Noser
Youssef Noser

Full Stack Developer
Developer Name 3
Hussien Mohamed

Frontend Developer
Developer Name 3
Tasneem Ahmad

Frontend Developer
Doha Ahmad
Doha Ahmad

Backend Developer

About

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •