The Innovation Excellence Dashboard is a comprehensive web application designed to empower students and faculty in managing and showcasing academic innovations. This platform streamlines the process of submitting, reviewing, and tracking various academic achievements, while also facilitating mentor-student connections.
- User Roles: Supports Students, Faculty, and Admins, each with specific permissions.
- Submission Categories: Projects, Publications, Patents, Grants, and Competitions.
- Faculty Review System: Allows faculty to review and vote on student submissions.
- Student Statistics: Comprehensive view of student achievements and performance metrics.
- Mentor Connect: Platform for students to find and connect with mentors.
- Admin Dashboard: Tools for user management, analytics, and system configuration.
- Frontend: React.js (v18.2.0)
- State Management: Redux Toolkit (v1.9.5)
- Backend & Database: Supabase
- Styling: Tailwind CSS (v3.3.2)
- Routing: React Router DOM (v6.11.2)
- Icons: Font Awesome (v6.4.0)
- HTTP Client: Axios (v1.4.0)
src/
├── components/
│ ├── FilterModal.jsx
│ ├── Navbar.jsx
│ ├── ProtectedRoute.jsx
│ └── TableWithFilters.jsx
├── features/
│ └── user/
│ └── userSlice.js
├── pages/
│ ├── AddProject.jsx
│ ├── AdminDashboard.jsx
│ ├── Home.jsx
│ ├── Login.jsx
│ ├── MentorConnect.jsx
│ ├── Profile.jsx
│ ├── ReviewSubmissions.jsx
│ ├── StudentStatistics.jsx
│ └── Unauthorized.jsx
├── utils/
│ └── supabaseclient.js
├── App.jsx
└── index.js
-
Clone the repository:
git clone https://github.com/awindsr/innovation-excellence-dashboard.git cd innovation-excellence-dashboard
-
Install dependencies:
npm install
-
Set up Supabase:
- Create a new project on Supabase
- Copy your project's URL and anon key
- Create a
.env
file in the root directory with the following content:VITE_SUPABASE_URL=your-project-url VITE_SUPABASE_ANON_KEY=your-anon-key
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:5173
Ensure your Supabase database has the following tables:
users
: id, name, email, roleprojects
: id, title, description, done_by, votespublications
: id, title, description, done_by, votespatents
: id, title, description, done_by, votesgrants
: id, title, description, done_by, votescompetitions
: id, title, description, done_by, votes
Each table should have a votes
column of type JSON to store voting data.
- Submit new projects, publications, patents, grants, or competition entries
- View and edit profile
- Connect with mentors
- Review and vote on student submissions
- Access student statistics
- Participate as mentors
- Manage user accounts and roles
- View platform analytics
- Configure system settings
Navbar.jsx
: Navigation component with role-based menu itemsProtectedRoute.jsx
: Route wrapper for role-based access controlTableWithFilters.jsx
: Reusable table component with search and filter functionalityReviewSubmissions.jsx
: Faculty interface for reviewing student submissionsStudentStatistics.jsx
: Dashboard for viewing student performance metricsMentorConnect.jsx
: Platform for student-mentor connections
We welcome contributions to the Innovation Excellence Dashboard! Please follow these steps:
- Fork the repository
- Create a new branch:
git checkout -b feature-branch-name
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature-branch-name
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE.md file for details.
For any queries or support, please contact [email protected].