A comprehensive web application built with Next.js for managing a 6-month tech talent program. The system facilitates interaction between students, mentors, companies, and administrators.
-
Admin Dashboard
- User management (CRUD operations)
- Program oversight and analytics
- Workshop scheduling and management
- Performance evaluation tracking
- Student progress monitoring
-
Mentor Dashboard
- Student group tracking
- Project evaluations
- Weekly progress assessments
- Technical skills evaluation
-
Student Dashboard
- Course progress tracking
- Project submissions
- Interview scheduling
- Company matching
- Calendar management
-
Company Dashboard
- Profile management
- Internship position management
- Candidate matching
- Interview scheduling
- User management and role-based access control
- Real-time progress tracking and evaluations
- Interview scheduling and management
- Workshop and event organization
- Project submission and assessment
- Company-student matching system
- Performance analytics and reporting
- Framework: Next.js 14 app router based
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components:
- Radix UI
- Shadcn/ui
- Recharts for data visualization
- Fonts: Geist Sans and Geist Mono
- Theme: Dark/Light mode support
- Node.js 18.x or higher
- npm, yarn, or pnpm package manager
- Clone the repository:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
├── app/
│ ├── layout.tsx # Root layout with theme provider
│ ├── page.tsx # Landing page with role selection
│ └── globals.css # Global styles
├── components/
│ ├── dashboards/ # Role-specific dashboard components
│ ├── ui/ # Reusable UI components
│ └── nav/ # Navigation components
├── types/
│ └── dashboard.ts # TypeScript interfaces
├── lib/
│ └── utils.ts # Utility functions
└── public/ # Static assetsWe welcome contributions to the Student Management System! Here's how you can help:
-
Fork the Repository
- Create your own fork of the code
- Clone it to your local machine
-
Create a Branch
git checkout -b feature/YourFeatureName
-
Make Your Changes
- Write your code
- Follow the existing code style
- Add or update tests as needed
- Update documentation as needed
-
Test Your Changes
npm run test # Run tests npm run lint # Check code style
-
Commit Your Changes
git commit -m "feat: Add some feature"Follow Conventional Commits for commit messages
-
Push to Your Fork
git push origin feature/YourFeatureName
-
Create a Pull Request
- Go to your fork on GitHub
- Click "New Pull Request"
- Describe your changes and submit
- Use TypeScript for type safety
- Follow the existing project structure
- Use meaningful variable and function names
- Add comments for complex logic
- Keep components small and focused
- Write unit tests for new features
This project is licensed under the MIT License
- Next.js - The React framework for production
- Tailwind CSS - A utility-first CSS framework
- Radix UI - Unstyled, accessible UI components
- Shadcn/ui - Re-usable components built with Radix UI and Tailwind CSS
- Recharts - A composable charting library for React
- TypeScript - JavaScript with syntax for types
- Vercel - Platform for deploying Next.js applications