The University Events Platform is a centralized solution for managing university events such as hackathons, workshops, guest lectures, and seminars. It streamlines event communication by integrating timetable management, personalized notifications, a project repository, skill assessment quizzes, and a chatbot for technical guidance.
- Event Centralization: Automatically extracts and organizes event data from university email accounts using IMAP and Google Generative AI.
- Personalized Notifications: Notifies users about events that fit their free time by cross-referencing their schedules.
- Event Filtering: Allows users to filter events by date, type, and time.
- Project Repository: Enables students to log and track their academic or personal projects.
- Skill Assessment Module: Offers coding and technical quizzes with real-time feedback.
- Chatbot Integration: Provides instant technical assistance and event-related FAQs using Chatbase.co.
- Node.js: Server-side programming.
- Express.js: RESTful API development.
- MongoDB: Database for storing event, project, and user data.
- imaplib (Python): Email parsing and data extraction.
- HTML, CSS, JavaScript, Bootstrap: Interactive user interface.
- Google Generative AI: For cleaning and structuring email data.
- Chatbase.co: For chatbot integration.
- Node.js and npm installed. (Download)
- MongoDB database (local or Atlas).
- Python 3.x for email parsing.
-
Clone the repository:
git clone https://github.com/yourusername/university-events-platform.git cd university-events-platform -
Install dependencies:
npm install
-
Set up environment variables: Create a
.envfile in the root directory:DATABASE_URL=mongodb+srv://<username>:<password>@<cluster>.mongodb.net/<dbname> PORT=3000 EMAIL_USERNAME=<university_email> EMAIL_PASSWORD=<email_password> -
Run the backend:
- For development:
npm run dev
- For production:
npm start
- For development:
-
Run the email extraction script (Python):
python extract_emails.py
-
Access the application: Open your browser and visit:
http://localhost:3000
university-events-platform/
├── models/ # Mongoose schemas for database
├── public/ # Static files (CSS, JS, images)
├── views/ # EJS templates (if applicable)
├── routes/ # API routes
├── extract_emails.py # Python script for IMAP email parsing
├── .env # Environment variables
├── index.js # Main server file
├── package.json # npm configuration
-
Email Data Cleaning:
Challenge: Extracting relevant event details from unstructured email data.
Solution: Utilized Google Generative AI to clean and structure the data. -
Timetable Matching:
Challenge: Accurately aligning events with user schedules.
Solution: Implemented a robust backend algorithm in Node.js. -
Chatbot Configuration:
Challenge: Ensuring meaningful and relevant responses.
Solution: Curated a custom FAQ dataset for Chatbase.co.
- Mobile app integration for on-the-go event management.
- Advanced analytics for event trends and participation.
- Support for additional university communication platforms.
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes and push them to your fork.
- Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
Feel free to adapt this further for your specific needs! 😊