Skip to content

Repository files navigation

CollabStudy Logo

CollabStudy v1

Real-time Study Collaboration Platform
Build meaningful connections, share knowledge, and grow together

Live Demo GitHub License

CollabStudy Social Preview

Python Django Tailwind CSS PostgreSQL

📖 Table of Contents

🎯 About

CollabStudy v1 is a sophisticated collaboration platform engineered for students, researchers, and developers to create focused study spaces, exchange ideas in real-time, and foster academic growth. Built as a production-ready Django monolith, it serves as the foundation for the upcoming v2 microservices architecture with AI-powered features.

✨ Features

Feature Description
🔐 Secure Authentication Google & GitHub OAuth sign-in (django-allauth) — no passwords
🏠 Study Rooms Create, join, and manage topic-specific study rooms
💬 Real-time Messaging Instant communication within study rooms
📊 Activity Feed Stay updated with platform-wide discussions and activities
🏷️ Topic Discovery Explore rooms by subjects and interests
🎨 Premium UI/UX Modern dark theme with responsive design powered by Tailwind CSS
👥 User Profiles Customizable profiles with bios and contribution tracking
🔧 Admin Dashboard Full Django admin panel for platform management

🛠️ Tech Stack

Backend

  • Framework: Django 5.x
  • Language: Python 3.x
  • Database: PostgreSQL (Production) / SQLite (Development)
  • API: Django REST Framework
  • Security: Django's built-in authentication & CSRF protection

Frontend

  • Styling: Tailwind CSS
  • Interactivity: Vanilla JavaScript
  • Icons: Custom SVG icons
  • Fonts: Inter Font Family

Deployment

  • Hosting: Render
  • WSGI Server: Gunicorn
  • Static Files: Whitenoise
  • HTTPS: Auto SSL via Let's Encrypt

Deployment (Render + Neon)

Live at https://collabstudy-rwqj.onrender.com

  • Hosting: Render web service (free tier, auto-deploys from main)
  • Database: Neon serverless PostgreSQL — free and never expires (unlike Render's 30-day free Postgres). DATABASE_URL is set manually in the Render service's Environment tab.
  • Static files: collected during the build; migrations run at startup via render.sh

Required environment variables:

Variable Example Purpose
SECRET_KEY <random 50+ chars> Django signing/security key
DEBUG false Must be false in production
ALLOWED_HOSTS .onrender.com Allowed request hosts
CSRF_TRUSTED_ORIGINS https://*.onrender.com HTTPS origins allowed for POST
DATABASE_URL postgres://…@…neon.tech/… Neon PostgreSQL connection
GOOGLE_CLIENT_ID <from Google Cloud> Google OAuth client ID
GOOGLE_CLIENT_SECRET <from Google Cloud> Google OAuth client secret
GITHUB_CLIENT_ID <from GitHub> GitHub OAuth client ID
GITHUB_CLIENT_SECRET <from GitHub> GitHub OAuth client secret

⚠️ Uploaded avatars live on the instance disk and are wiped on redeploys — for permanent storage, move uploads to Cloudinary/S3 (planned for v2).

🚀 Getting Started

Prerequisites

  • Python 3.10 or higher
  • pip package manager
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/Hayredin950/CollabStudy-v1.git
    cd CollabStudy-v1
  2. Set up virtual environment

    # Linux/macOS
    python3 -m venv venv
    source venv/bin/activate
    
    # Windows
    python -m venv venv
    .\venv\Scripts\activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Configure environment Create a .env file in the root directory:

    DEBUG=True
    SECRET_KEY=your-secret-key-here
    ALLOWED_HOSTS=localhost,127.0.0.1
  5. Run database migrations

    python manage.py migrate
  6. Create a superuser (optional but recommended)

    python manage.py createsuperuser
  7. Start the development server

    python manage.py runserver
  8. Open your browser Navigate to http://localhost:8000 to see the application!

📱 Usage

For Students

  1. Sign In: Click Continue with Google or Continue with GitHub (your first sign-in auto-creates your account — no passwords)
  2. Explore Rooms: Browse study rooms by topics or search
  3. Join Discussions: Participate in real-time conversations
  4. Create Rooms: Start your own study space for specific subjects

For Admins

  1. Access the admin panel at http://localhost:8000/admin
  2. Manage users, rooms, messages, and topics
  3. Monitor platform activity and moderate content

📸 Screenshots

Coming Soon

🏗️ Architecture

CollabStudy v1 follows Django's classic Model-View-Template (MVT) architecture:

CollabStudy-v1/
├── base/                   # Main application
│   ├── api/               # REST API endpoints
│   ├── migrations/        # Database migrations
│   ├── templates/         # HTML templates
│   ├── admin.py           # Admin configuration
│   ├── models.py          # Database models
│   ├── views.py           # Request handlers
│   └── urls.py            # URL routing
├── static/                # Static files (CSS, JS, images)
├── staticfiles/           # Collected static files for production
├── manage.py              # Django management script
└── requirements.txt       # Python dependencies

Version 2 Preview

This v1 serves as a proof of concept. Version 2 will feature:

  • Microservices: NestJS, FastAPI, and standalone services
  • AI Integration: LangChain-powered study assistants
  • Vector Search: Semantic search using pgvector
  • Real-time: WebSocket-based communication
  • Modern UI: Next.js with React

🤝 Contributing

Contributions are what make the open-source community such an amazing place! Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

Distributed under the MIT License. See LICENSE for more information.

📬 Contact

Hayredin - hayredin.950@gmail.com

Project Link: https://github.com/Hayredin950/CollabStudy-v1


Built with ❤️ by Hayredin

© 2026 CollabStudy. All rights reserved.

About

CollabStudy v1 — Real-Time Study Platform

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages