Eventory
A comprehensive AI-powered platform for tracking academic and club events, featuring a Discord bot that intelligently detects deadlines, events, and announcements from conversations.
Overview
Eventory streamlines event tracking for students by automatically capturing important deadlines and events shared on Discord servers. Using Google's Gemini AI, our system can understand natural language announcements and extract structured data for easy reference.
Project Structure
The project is organized into three main components:
- Discord Bot: Monitors Discord channels for mentions of deadlines, events, and announcements
- Backend API: FastAPI server that stores and provides event data
- Frontend: React web application for viewing and managing events
Key Features
- AI-Powered Event Detection: Uses Gemini AI to intelligently parse messages for events, deadlines, and announcements
- Smart Date Processing: Converts relative dates ("tomorrow", "next week") to standardized YYYY-MM-DD format
- Multi-Source Event Collection: Consolidates events from various Discord channels and servers
- Comprehensive Event Information: Extracts title, date, time, location, club name, and more
- MongoDB Integration: Reliable cloud storage using MongoDB Atlas
- Calendar View: Visual calendar interface to see events by date
- Event Categorization: Automatically categorizes events (club meetings, academic deadlines, etc.)
- Modern Web Interface: Clean, responsive UI built with React and Tailwind CSS
- Secure API: Protected endpoints with authentication and API keys
How It Works
Event Detection Flow
- The Discord bot monitors messages in configured channels
- When an announcement is detected, it's processed using Gemini AI
- The AI extracts structured data (event title, date, time, location, etc.)
- Dates are standardized to YYYY-MM-DD format for consistent handling
- The event is saved to MongoDB
- The bot acknowledges by replying to the original message
- Events can be viewed through the web interface in list or calendar view
Event Types Detected
Eventory can detect various types of announcements:
- Club events and meetings
- Academic deadlines
- Career opportunities (internships, job fairs)
- Registration deadlines
- Social events with food/refreshments
- General club announcements
Technologies Used
- Discord Bot: Python, Discord.py, Google Gemini AI
- Backend: FastAPI, Python, PyMongo, JWT authentication
- Frontend: React, Tailwind CSS, Axios
- Database: MongoDB Atlas
- Authentication: JWT tokens, API keys
- Date Processing: Python dateutil, custom formatters
- Error Handling: Comprehensive logging and error recovery
Development and Contribution
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Acknowledgements
- Google Gemini for the AI capabilities
- MongoDB Atlas for database services
- Discord Developer Platform for bot integration
Log in or sign up for Devpost to join the conversation.