A web application to help instructors track student group projects and collaboration through GitHub Classroom integration.
This application helps instructors monitor student group activities and contributions in GitHub-based course projects. It provides insights through dashboards and analytics about team progress and individual participation.
-
Team Progress Tracking
- Commit frequency analysis
- Project board monitoring
- Issue and PR tracking
- Code contribution metrics
- Milestone completion rates
-
Individual Performance Analytics
- Student contribution patterns
- Participation metrics
- Task completion rates
- Collaboration indicators
-
Dashboard & Reporting
- Visual analytics
- Exportable reports
- Real-time activity feeds
- Customizable metrics
- React.js
- Material UI
- Chart.js (for analytics visualization)
- React Query (for data fetching)
- Node.js
- Express.js
- MongoDB (for data storage)
- GitHub API integration
collaborative-project-tracker/
├── client/ # Frontend React application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API services
│ │ └── utils/ # Utility functions
│ └── public/ # Static assets
│
├── server/ # Backend Node.js application
│ ├── src/
│ │ ├── controllers/ # Request handlers
│ │ ├── models/ # Database models
│ │ ├── routes/ # API routes
│ │ └── services/ # Business logic
│ └── config/ # Configuration files
- Node.js (v14 or higher)
- MongoDB
- GitHub Account with API access
- Clone the repository
git clone https://github.com/qqv/cpt_edu.git
cd cpt_edu- Install frontend dependencies
cd client
npm install- Install backend dependencies
cd server
npm install
# Initialize MongoDB
npm run init-db- Create environment variables (.env)
# In server/.env
MONGODB_URI=your_mongodb_uri
GITHUB_TOKEN=your_github_token
PORT=5000
NODE_ENV=development
# In client/.env
REACT_APP_API_URL=http://localhost:5000
VITE_API_URL=http://localhost:5000/api - Start the development servers
# Start backend (from server directory)
cd ./client
npm run dev
# Start frontend (from client directory)
cd ./server
npm run dev- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.