Skip to content

Achu-shankar/Syllabi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Syllabi

An open-source AI-powered chatbot platform with advanced knowledge base integration, multi-modal support, and seamless integrations.

🀝 Looking for Maintainers

I'm starting a new job and won't have bandwidth to actively maintain this. If you're interested in helping maintain this project, here's how:

Start contributing:

  • Submit quality PRs
  • Help triage issues
  • Improve documentation
  • Review other people's PRs (even without merge rights, reviews are valuable!)

Then just ask: If you've made meaningful contributions and want write access to help maintain the project, just open an issue or comment saying so. I'm happy to add contributors who show they understand the codebase and want to help.

No formal process, no committee, no bureaucracy. Just good vibes and good code. ✌️

Or fork it! If you want to take the project in a different direction or I'm not responsive enough, forking is totally fine. That's the beauty of open source.

🌟 Features

  • AI-Powered Chatbots: Build intelligent chatbots with OpenAI GPT-4 and other LLMs
  • Knowledge Base Integration: Upload documents, videos, audio files, and URLs
  • Multi-Modal Support: Process PDFs, videos, audio with automatic transcription
  • Custom Theming: Full customization of chatbot appearance
  • API Integrations: Connect to Discord, Slack, Teams, and more
  • Skills System: Extend chatbot capabilities with custom actions
  • Analytics Dashboard: Track usage, messages, and performance
  • Embedded Widget: Add chatbots to any website

πŸ› οΈ Tech Stack

Frontend

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript
  • Styling: TailwindCSS
  • AI SDK: Vercel AI SDK v5
  • State Management: React Context
  • Database: Supabase (PostgreSQL)

Backend

  • Framework: FastAPI (Python)
  • Task Queue: Celery
  • Document Processing: PyMuPDF, pdfplumber
  • Audio/Video: Whisper API, pydub
  • Embeddings: OpenAI text-embedding-3-small

πŸš€ Quick Start

Prerequisites

  • Node.js 20+ and npm
  • Python 3.10+
  • Supabase account
  • OpenAI API key
  • Redis (for backend task queue)

Installation

  1. Clone the repository
git clone https://github.com/Achu-shankar/Syllabi.git
cd syllabi
  1. Setup Frontend
cd frontend
npm install
cp .env.example .env.local
# Edit .env.local with your credentials
npm run dev
  1. Setup Backend (Optional - for document processing)
cd backend
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your credentials
uvicorn app.main:app --reload
  1. Setup Database

Option 1: Quick Setup with Schema File (Recommended)

Create a Supabase project at supabase.com, then run the complete schema:

  1. Go to Supabase Dashboard β†’ SQL Editor
  2. Open frontend/supabase/schema.sql file
  3. Copy the entire contents
  4. Paste into SQL Editor and click "Run"

This will create all tables, indexes, RLS policies, and functions in one go.

Option 2: Using Supabase CLI

cd frontend
supabase link --project-ref your-project-ref
supabase db push

Option 3: Individual Migration Files

  • Run SQL files from frontend/supabase/migrations/ one by one
  • Useful for understanding incremental changes during development

πŸ“– Documentation

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for details.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“§ Contact


Made with ❀️ by Achu Shankar

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published