An AI-powered academic assistant designed specifically for UNCC students, helping them navigate their academic journey with personalized guidance and support.
- AI-Powered Academic Assistant - Get personalized guidance and support for your academic journey
- Smart Calendar Integration - Sync with Google Calendar and manage your schedule efficiently
- Group Study Spaces - Create and join virtual study rooms with real-time chat and video calls
- User Discovery - Find study partners based on shared interests and courses
- Friend System - Add friends, send messages, and organize study sessions
- Task Management - Track assignments, deadlines, and events with smart reminders
- Virtual Parent Mode - Get caring advice with a touch of dad jokes and puns
- Time Analysis - Visualize and optimize your time management
- Scholarship Tracking - Find and manage scholarship opportunities
- Dark Mode - Comfortable viewing experience day and night
-
Prerequisites
node >= 20.0.0 npm >= 10.0.0
-
Installation
# Clone the repository git clone https://github.com/Frenzyz/matcha.git # Install dependencies cd matcha npm install
-
Environment Setup Copy
env.example.txtto.envand fill in your values:cp env.example.txt .env
Required environment variables:
VITE_SUPABASE_URL=https://your-project.supabase.co VITE_SUPABASE_ANON_KEY=your_supabase_anon_key VITE_GOOGLE_CLIENT_ID=your_google_client_id.apps.googleusercontent.com VITE_GROQ_API_KEY=your_groq_api_key VITE_WEBRTC_SERVER_URL=http://localhost:3001 -
Development
# Start frontend only npm run dev # Start both frontend and WebRTC server (for group study features) npm run dev:full
-
Build
npm run build
The frontend can be deployed to any static hosting service:
-
Build the project:
npm run build
-
Deploy the
distfolder to your hosting service -
Set environment variables in your hosting service dashboard:
VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_ANON_KEY=your_supabase_key VITE_GOOGLE_CLIENT_ID=your_google_client_id VITE_GROQ_API_KEY=your_groq_api_key VITE_WEBRTC_SERVER_URL=https://your-webrtc-server.com
The WebRTC signaling server must be deployed separately. Multiple FREE options available!
- Render.com (FREE) - No credit card required
- Fly.io (FREE) - Better performance, requires credit card but won't charge
- Oracle Cloud (FREE) - Always free tier with generous limits
- Self-hosted Docker - Complete control, any VPS or local server
- Contabo, Hetzner, DigitalOcean - Ultra-cheap VPS providers
- Docker deployment on any server
See FREE-DEPLOYMENT-GUIDE.md for detailed step-by-step instructions for all free and self-hosted options.
- Deploy WebRTC server using FREE option (Render.com/Fly.io/Docker/VPS)
- Get WebRTC server URL (e.g.,
https://matcha-webrtc.onrender.com) - Set
VITE_WEBRTC_SERVER_URLin Netlify environment variables - Deploy frontend to Netlify with all environment variables
- Test group study features in production
- Verify real-time chat and video calls work across different devices
-
Frontend
- React 18
- TypeScript
- Tailwind CSS
- Vite
- Lucide Icons
-
Backend & Database
- Supabase
- PostgreSQL
- Socket.io (Real-time messaging)
- Express.js (WebRTC signaling server)
-
Real-time Communication
- PeerJS (WebRTC for video calls)
- Socket.io (Real-time chat)
- WebRTC (Peer-to-peer communication)
-
AI/ML
- Groq API
- Google Calendar API
-
Authentication
- Supabase Auth
- Google OAuth
-
Smart Calendar
- Google Calendar integration
- Event management
- Task tracking
- Time analysis
-
AI Assistant
- Academic guidance
- Virtual parent mode
- Personalized recommendations
- Study tips
-
Group Study Framework
- Virtual study rooms with video calls
- Real-time chat with message persistence
- User discovery and friend system
- Profile visibility settings
- Smart study partner matching
-
Scholarship Management
- Scholarship discovery
- Application tracking
- Deadline management
- Requirements tracking
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- UNCC for supporting student innovation
- The open-source community
- All contributors and testers
Made with 💚 for UNCC Students