University Events Platform

Overview

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.


Features

  • 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.

Technologies Used

Backend

  • 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.

Frontend

  • HTML, CSS, JavaScript, Bootstrap: Interactive user interface.

AI Tools

  • Google Generative AI: For cleaning and structuring email data.
  • Chatbase.co: For chatbot integration.

Installation and Setup

Prerequisites

  • Node.js and npm installed. (Download)
  • MongoDB database (local or Atlas).
  • Python 3.x for email parsing.

Steps

  1. Clone the repository:

    git clone https://github.com/yourusername/university-events-platform.git
    cd university-events-platform
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env file in the root directory:

    DATABASE_URL=mongodb+srv://<username>:<password>@<cluster>.mongodb.net/<dbname>
    PORT=3000
    EMAIL_USERNAME=<university_email>
    EMAIL_PASSWORD=<email_password>
    
  4. Run the backend:

    • For development:
      npm run dev
    • For production:
      npm start
  5. Run the email extraction script (Python):

    python extract_emails.py
  6. Access the application: Open your browser and visit:

    http://localhost:3000
    

Project Structure

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

Key Challenges and Solutions

  1. Email Data Cleaning:
    Challenge: Extracting relevant event details from unstructured email data.
    Solution: Utilized Google Generative AI to clean and structure the data.

  2. Timetable Matching:
    Challenge: Accurately aligning events with user schedules.
    Solution: Implemented a robust backend algorithm in Node.js.

  3. Chatbot Configuration:
    Challenge: Ensuring meaningful and relevant responses.
    Solution: Curated a custom FAQ dataset for Chatbase.co.


Future Enhancements

  • Mobile app integration for on-the-go event management.
  • Advanced analytics for event trends and participation.
  • Support for additional university communication platforms.

Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Commit your changes and push them to your fork.
  4. Submit a pull request.

License

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! 😊