An intelligent calendar application that combines traditional calendar functionality with cutting-edge AI capabilities to revolutionize personal scheduling and event management.
CalendarIQ is a comprehensive web application built as a university thesis project at Universitatea βAlexandru Ioan Cuza" din IaΘi (UAIC). It features an intuitive calendar interface enhanced by an AI assistant that helps users manage their schedules more efficiently through natural language interactions.
- Natural Language Processing: Create, modify, and search events using conversational commands
- Voice Recognition: Speak your calendar requests directly to the AI assistant
- Smart Time Suggestions: AI analyzes your patterns to suggest optimal scheduling times
- Event Overlap Detection: Automatically detects and resolves scheduling conflicts
- Personalized Recommendations: Context-aware suggestions based on your event history
- Multiple View Modes: Month, week, and day views for comprehensive schedule visualization
- Event Categories: Organized categorization (Work, Health, Social, Travel, Education, etc.)
- Smart Event Creation: AI-powered event suggestions with location and category recommendations
- Real-time Local Events: Discover events happening in your city (focused on IaΘi, Romania)
- Intelligent Filtering: Events filtered by timeframe (today, this week, this month)
- Seamless Integration: Add local events directly to your personal calendar
- Speech-to-Text: Create events and interact with the AI using voice commands
- Real-time Audio Visualization: Visual feedback during voice input
- Cross-platform Compatibility: Works on both desktop and mobile devices
- Event Pattern Analysis: Understand your scheduling habits and productivity patterns
- Category Statistics: Visual breakdown of how you spend your time
- User Authentication: Secure login and registration system
- Personal Data Protection: Each user's events and preferences are privately stored
- Persistent Sessions: Seamless experience across browser sessions
- React 19: Modern UI library with hooks and context
- Tailwind CSS 4: Utility-first CSS framework for responsive design
- Chart.js: Interactive charts and data visualizations
- React Speech Recognition: Voice input functionality
- React Router: Client-side routing
- Day.js: Lightweight date manipulation
- Axios: HTTP client for API communication
- Node.js: JavaScript runtime environment
- Express.js: Web application framework
- MySQL: Popular open source database
- Sequelize: ORM for database operations
- JWT: JSON Web Tokens for authentication
- bcrypt: Password hashing and security
- Groq SDK: Fast AI inference for natural language processing
- Google Generative AI: Advanced AI capabilities for event suggestions
- Speech Recognition API: Browser-based voice input
- Local Events API: Real-time local event discovery
- Node.js (v16 or higher)
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/yourusername/licenta-project.git cd licenta-project -
Install backend dependencies
cd backend npm install -
Install frontend dependencies
cd ../frontend npm install -
Environment Setup
Create a
.envfile in the backend directory:PORT=5000 JWT_SECRET=your_jwt_secret_here GROQ_API_KEY=your_groq_api_key GEMINI_API_KEY=your_gemini_api_key
-
Start the application
Backend server:
cd backend npm startFrontend development server:
cd frontend npm run dev -
Access the application
Open your browser and navigate to
http://localhost:5173
- Navigation: Use the header controls to switch between month, week, and day views
- Create Events: Click on any date/time slot or use the "+" button
- Edit Events: Click on existing events to modify details
- Categories: Organize events with color-coded categories
The AI assistant understands natural language commands such as:
-
Creating Events:
- "Schedule a meeting tomorrow at 2 PM"
- "Add gym session on Friday morning"
- "Put dentist appointment next week"
-
Finding Events:
- "When is my next meeting?"
- "When was my last doctor appointment?"
- "Find my workout sessions this week"
-
Time Suggestions:
- "When should I schedule a team meeting?"
- "Find the best time for a dentist visit"
- "Suggest time slots for studying"
-
Local Events:
- "What events are happening today?"
- "Show me local events this weekend"
- "Any concerts this month?"
- Press and hold the microphone button to record voice commands
- Speak naturally - the AI will process your request
- Audio visualization provides real-time feedback
licenta-project/
βββ backend/
β βββ config/
β β βββ database.js # Database configuration
β βββ middleware/
β β βββ auth.js # Authentication middleware
β βββ models/
β β βββ Event.js # Event data model
β β βββ User.js # User data model
β β βββ associations.js # Model relationships
β βββ routes/
β β βββ auth.js # Authentication routes
β β βββ chat.js # AI chat functionality
β β βββ events.js # Event CRUD operations
β β βββ localEvents.js # Local events discovery
β β βββ suggestions.js # AI suggestions engine
β β βββ travel.js # Location and travel utilities
β βββ database.sqlite # SQLite database file
β βββ server.js # Main server file
β βββ package.json
βββ frontend/
β βββ src/
β β βββ components/ # React components
β β βββ context/ # React context providers
β β βββ services/ # API service functions
β β βββ utils/ # Utility functions
β β βββ assets/ # Static assets (icons, images)
β β βββ App.jsx # Main application component
β β βββ main.jsx # Application entry point
β βββ public/
β βββ package.json
β βββ vite.config.js
βββ README.md
The system analyzes your past events to suggest:
- Event Titles: Based on similar past events
- Categories: Intelligent categorization
- Locations: Frequently used venues
- Time Slots: Optimal scheduling based on your patterns
When scheduling conflicts arise, the AI:
- Detects overlapping events
- Suggests alternative time slots
- Provides interactive resolution options
- Real-time integration with local event sources
- Intelligent filtering by timeframe and relevance
- Location-aware suggestions
- Data Encryption: All passwords are hashed using bcrypt
- JWT Authentication: Secure token-based authentication
- User Isolation: Each user's data is completely private
- No Data Sharing: Personal calendar data never leaves the secure environment
This project was developed as a bachelor's thesis at Universitatea βAlexandru Ioan Cuza" din IaΘi (UAIC), focusing on the integration of artificial intelligence with traditional calendar management systems. The research explores how AI can enhance user productivity and scheduling efficiency through natural language processing and pattern recognition.
Β© 2025 Universitatea βAlexandru Ioan Cuza" din IaΘi (UAIC)
This project was developed as part of academic research at UAIC. All rights reserved.
Note: This software is the intellectual property of the university and the student developer. Please contact the institution for licensing inquiries.
This is an academic project developed for thesis purposes. While the code is available for educational reference, please respect the academic nature of this work.
- UAIC Faculty for providing guidance and resources
- Groq for providing fast AI inference capabilities
- Google for Generative AI services
- Open Source Community for the various libraries and frameworks used
