AcadHelper is a comprehensive academic assistance platform built using Next.js, designed to streamline educational management and enhance the learning experience. The platform offers a variety of features including course management, assignment tracking, and user submissions, making it a valuable tool for both educators and students.
AcadHelper was developed as part of the Codesangam Hackathon, under the event named Webster. This project showcases innovative solutions for education technology and exemplifies the power of team collaboration and coding proficiency demonstrated during the hackathon.
- User Management: Register, log in, and manage user profiles with unique roles (admin, student).
- Course Management: Add, update, and track courses.
- Assignment Tracking: Manage assignments with details like due dates, submission status, and points.
- Submission Handling: Submit assignments and challenges with status tracking.
- Event planning:A built-in event scheduling feature to help users plan and organize academic events effectively, ensuring no important dates are missed.
- Notification System: Receive inbox messages for updates related to assignments and courses.
- Email Verification: Ensures that users verify their email addresses for account validation and security.
- Admin Panel: Dedicated interface for managing courses, users, and study materials.
- Cloud Management :Integration with Cloudinary for media storage and management.
- Group Collaboration :Includes a Pomodoro timer for group study, shared task management (to-do list visible to all members), and the ability for users to send requests to add members to the group.
- Leaderboard : Compare your position among other learners
- Virtual Room : Allows the user to use Pomodaro Timer for himself without any distractions.
- Framework: Next.js: Utilized for both the frontend and backend logic, leveraging API routes to handle server-side operations.
- Database: MongoDB with Mongoose ODM
- Styling: Tailwind CSS, Material-UI (MUI)
- Authentication: JWT-based user authentication
- Version Control: Git and GitHub
- APIs: RESTful API architecture
-
Clone the repository:
git clone https://github.com/yourusername/acadhelper.git cd acadhelper
-
Install dependencies:
npm install
-
Environment Variables: Create a
.env
file in the root directory and configure the following environment variables:MONGO_URI=mongodb+srv://<username>:<password>@<cluster-url>/<database-name> TOKEN_SECRET="your_jwt_secret_key" NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME="your_cloudinary_cloud_name" NEXT_PUBLIC_CLOUDINARY_API_KEY="your_cloudinary_api_key" CLOUDINARY_API_SECRET="your_cloudinary_api_secret"
-
Run the development server:
npm run dev
-
Open your browser: Navigate to http://localhost:3000 to see the app in action.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
. - Commit your changes:
git commit -m 'Add a new feature'
. - Push to the branch:
git push origin feature-name
. - Open a pull request.