Skip to content

labubou/TAConnect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ TAConnect

Smart Office Hours & Scheduling Platform

Project Status License Django React Docker Netlify Status

Simplify academic scheduling. Connect TAs with students. Maximize learning.

Features β€’ Quick Start β€’ Tech Stack β€’ Team


πŸ“– About

TAConnect is an open-source, fully self-hostable platform that streamlines office hours management for Teaching Assistants and students. Built with modern technologies, it offers conflict-free booking, real-time analytics, and a beautiful user experience.

"Maximize Your Learning. Minimize the Wait."

🏠 100% Self-Hostable - Deploy Anywhere

TAConnect is designed to be completely self-hostable with no external dependencies or vendor lock-in. You have full control:

  • Deploy anywhere: Your own server, cloud provider (AWS, Azure, GCP), or your institution's infrastructure
  • Complete data ownership: All data stays on your servers - no third-party services required
  • Privacy first: No tracking, no analytics sent to external services
  • Free to use: Use it for free for any purpose (academic, personal, or institutional)
  • Easy setup: One-command Docker deployment or manual installation

Whether you're a university IT department, a small academic institution, or an individual TA, you can run TAConnect on your own infrastructure with complete autonomy. See the Setup Guide for detailed deployment instructions.


✨ Features

πŸ“… Smart Scheduling

  • Create & manage office hour slots
  • Conflict-free booking system
  • Buffer time between sessions
  • Recurring slot patterns

πŸ‘₯ Role-Based Access

  • Dedicated TA dashboards
  • Student booking interface
  • Email verification system
  • Secure authentication

πŸ“Š Analytics & Insights

  • Booking trends visualization
  • Session completion tracking
  • Export bookings as CSV
  • Date range filtering

πŸ”” Notifications

  • Email on new bookings
  • Cancellation alerts
  • Booking update notifications
  • Customizable preferences
  • Push notifications (real-time browser alerts)

πŸ“… Google Calendar Integration

  • Automatic sync: Booking events automatically added to Google Calendar
  • Universal access: Works for all users (Google and non-Google login)
  • Flexible connection: Connect any Google account to your TAConnect account
  • Enable/disable toggle: Control calendar sync from settings
  • Event management: Automatic creation, update, and deletion of calendar events

🎨 Modern UI/UX

  • Dark/Light theme toggle
  • Fully responsive design
  • Interactive calendars
  • Accessible components

πŸ› οΈ Developer Friendly

  • Swagger API documentation
  • Docker one-command setup
  • Comprehensive test suite
  • Modular architecture
  • 100% self-hostable - deploy on your own infrastructure

πŸš€ Quick Start

# Clone the repository
git clone https://github.com/labubou/TAConnect.git
cd TAConnect

# Copy environment file
cp backend/ta_connect/.env.example backend/ta_connect/.env

# Start with Docker
docker compose up --build
Service URL
πŸ–₯️ Frontend http://localhost:3000
βš™οΈ Backend API http://localhost:8000
πŸ“š API Docs http://localhost:8000/swagger/

πŸ“˜ For detailed setup instructions, see PROJECT_GUIDE.md


πŸ—οΈ Tech Stack

Frontend Backend Database DevOps
React 19 Django 5 PostgreSQL Docker
Vite Django REST Docker Compose
Tailwind CSS JWT Auth
React Query drf_yasg

πŸ‘₯ Team

Role Name
πŸ”§ Backend Developer Karim Bassem
πŸ”§ Backend Developer Ahmed Fahmy
🎨 Frontend Developer Nadeem Diaa
🎨 Frontend Developer Omar Salama

πŸ›£οΈ Roadmap

  • Core booking system
  • JWT authentication
  • Email notifications
  • Analytics dashboard
  • Dark/Light theme
  • Multi-language support
  • Push notifications (Web Push API)
  • Google Calendar integration (automatic sync, universal access)
  • AI scheduling assistant

πŸ“„ License

Free to Use, Not to Sell

TAConnect is free to use for any purpose - academic, personal, institutional, or commercial use within your organization. You can:

  • βœ… Use it for free in your institution
  • βœ… Deploy it on your own servers
  • βœ… Modify and customize it for your needs
  • βœ… Share it with others
  • βœ… Use it commercially within your organization

However, you cannot:

  • ❌ Sell TAConnect as a product or service to others
  • ❌ Resell or redistribute TAConnect as a commercial offering
  • ❌ Use TAConnect to provide a competing service to third parties

If you want to sell TAConnect or use it to provide services to others, you need explicit permission. For commercial licensing inquiries: [email protected]

In summary: Use it freely for your own purposes, but don't sell it without permission.


⭐ Star this repo if you find it helpful!

Built with ❀️ by the TAConnect Team

"Connect better. Schedule smarter. Teach easier."

About

πŸŽ“ Smart office hours scheduling platform for TAs and students. Built with Django & React.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 6