StuddyBuddy is a Django web application where people can learn together by joining common study rooms based on different topics.
It allows users to discuss, share ideas, and collaborate openly instead of learning alone.
- User authentication (Email & Password)
- Social login with Google and GitHub
- User profiles with avatar support
- Topic-based public study rooms
- Real-time style message discussions
- File sharing inside rooms
- Search rooms by topic or keyword
- Fully responsive (mobile & desktop)
- Deployed on PythonAnywhere
All rooms and topics are public. There are no private rooms on StuddyBuddy.
This design encourages open learning, discovery of discussions, and community-driven knowledge sharing.
- Python
- Django
- SQLite (For scaling, it can be replaced with PostgreSQL)
- Django Allauth (authentication & social login)
- HTML
- CSS (custom)
- Bootstrap icons
- Responsive layout
- PythonAnywhere
- Whitenoise (static files)
Project_StuddyBuddy/
│
├── base/ # Core app (rooms, topics, messages)
├── users/ # Custom user model & profiles
├── studdybuddy/ # Project settings
├── templates/ # HTML templates
├── static/ # Static assets (CSS, images)
├── staticfiles/ # Collected static files (deployment)
├── manage.py
├── requirements.txt
└── README.md
git clone https://github.com/your-username/studdybuddy.git
cd studdybuddypython -m venv venv
source venv/bin/activate # Linux / Mac
venv\Scripts\activate # Windowspip install -r requirements.txtCreate a .env file and add:
SECRET_KEY=your_secret_key
DEBUG=True
OAUTH_GOOGLE_CLIENT_ID=your_google_client_id
OAUTH_GOOGLE_SECRET=your_google_secret
OAUTH_GITHUB_CLIENT_ID=your_github_client_id
OAUTH_GITHUB_SECRET=your_github_secretpython manage.py migratepython manage.py createsuperuserpython manage.py runserverOpen:
http://127.0.0.1:8000
StuddyBuddy supports:
- Email & password login
- Google OAuth
- GitHub OAuth
Powered by django-allauth.
- Students
- Beginners
- Developers
- Anyone who wants to learn together instead of alone
Yes — completely free to use.
- Real-time WebSocket chat
- Notifications
- Pagination for large rooms
- Better file management
- PostgreSQL for production
Inspired by community-driven learning and open discussion platforms.
Built with ❤️ using Django.
This project is open-source and free to use for learning purposes.
If you find this project helpful, consider giving it a ⭐ on GitHub!
Happy learning