Devlabs Frontend is a comprehensive web application for managing academic projects, courses, and student evaluations. It provides an intuitive interface for administrators, faculty, and students to collaborate on project-based learning effectively.
- Course Management: Create, organize, and manage courses with detailed information
- Semester Organization: Structure courses within academic semesters
- Student & Faculty Management: Assign users to courses and manage permissions
- Batch Assignment: Group students into batches for better organization
- Project Creation & Tracking: Comprehensive project lifecycle management
- Team Formation: Organize students into teams for collaborative projects
- Project Status Tracking: Monitor projects through various stages (Proposed, Ongoing, Completed, Rejected)
- File Upload & Management: Handle project deliverables and documentation
- Course Evaluations: Detailed evaluation forms with customizable criteria
- Individual Scoring: Peer and instructor evaluations with scoring rubrics
- Review System: Multi-stage review process for project assessments
- Performance Analytics: Real-time insights into student and course performance
- Performance Dashboards: Visual analytics for students and instructors
- Progress Tracking: Monitor completion rates and performance trends
- Data Export: Export performance data for external analysis
- Interactive Charts: Comprehensive charts and visualizations using Recharts
- Role-Based Access: Different interfaces for students, faculty, and administrators
- Secure Authentication: NextAuth integration for secure user management
- Permission Management: Granular control over user capabilities
- Responsive Design: Works seamlessly on desktop and mobile devices
- Dark/Light Mode: Theme switching for better user experience
- Drag & Drop: Intuitive interactions for kanban boards and file uploads
- Real-time Updates: Live data synchronization using React Query
- Framework: Next.js 15 with App Router
- Language: TypeScript
- UI Library: React 19
- Component Library: shadcn/ui with Radix UI
- Styling: Tailwind CSS
- State Management: React Query (TanStack Query) + Jotai
- Authentication: NextAuth.js
- HTTP Client: Axios
- Package Manager: pnpm
Follow these steps to run the project locally for development and testing purposes.
- Node.js (version 18 or higher)
- pnpm (recommended) or npm/yarn
-
Clone the repository:
git clone https://github.com/TharunCodes07/devlabs-frontend.git cd devlabs-frontend
-
Install dependencies:
pnpm install # or npm install
-
Set up environment variables: Create a
.env.local
file in the root directory and configure your environment variables:NEXTAUTH_SECRET=your-secret-key NEXTAUTH_URL=http://localhost:3000 # Add other required environment variables
-
Run the development server:
pnpm dev # or npm run dev
Open http://localhost:3000 in your browser to view the application.
pnpm dev
- Start the development serverpnpm build
- Build the application for productionpnpm start
- Start the production serverpnpm lint
- Run ESLint for code quality checks
Styling is handled through Tailwind CSS with custom configurations for the design system.
- Create and manage academic courses
- Assign instructors and students
- Organize courses within semesters
- Track course-specific performance metrics
- Project proposal and approval workflow
- Team assignment and collaboration tools
- File upload and version management
- Multi-stage review and evaluation process
- Customizable evaluation criteria
- Peer and instructor assessments
- Real-time scoring and feedback
- Comprehensive rubric management
- Performance tracking across courses and projects
- Visual representations of progress and achievements
- Export capabilities for detailed reporting
- Trend analysis and insights
We welcome contributions! Whether it's fixing a bug, improving documentation, or suggesting new features, your input is appreciated.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow the existing code style and conventions
- Use TypeScript for type safety
- Write meaningful commit messages
- Test your changes thoroughly
- Update documentation as needed
Built with ❤️ by the Devlabs team.