From 06e10f988116ffede05017807155a6ff522cfff2 Mon Sep 17 00:00:00 2001 From: Rishabh Mishra Date: Thu, 15 Jan 2026 17:31:22 +0530 Subject: [PATCH] docs: Revamp README with detailed project info Expanded the README to include a comprehensive project overview, features, project structure, setup instructions, API documentation, bug reporting guidelines, license, author info, acknowledgments, and support details. Improved formatting, added screenshots, and clarified deployment options for better onboarding and usability. --- README.md | 257 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 220 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index 30082b5..4a71f3f 100644 --- a/README.md +++ b/README.md @@ -1,86 +1,269 @@ -# StudyBuddy +# StudyBuddy ๐ŸŽ“ ![Django](https://img.shields.io/badge/django-%23092E20.svg?style=for-the-badge&logo=django&logoColor=white) ![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54) ![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white) ![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge&logo=css3&logoColor=white) +![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black) ![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white) -![JavaScript]( https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black) ![Azure](https://img.shields.io/badge/azure-%230072C6.svg?style=for-the-badge&logo=microsoftazure&logoColor=white) ![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=for-the-badge&logo=sqlite&logoColor=white) ![Github Actions](https://img.shields.io/badge/GitHub_Actions-2088FF?style=for-the-badge&logo=github-actions&logoColor=white) ![DjangoREST](https://img.shields.io/badge/DJANGO-REST-ff1709?style=for-the-badge&logo=django&logoColor=white&color=ff1709&labelColor=gray) +## ๐Ÿ“ About the Project -## ๐Ÿ“About the project +StudyBuddy is a collaborative web platform designed to help students find study partners and create dedicated study rooms for any topic. Built with Django and deployed on Azure, this application bridges the gap between learners seeking collaborative study opportunities. -StudyBuddy is a web application that allows students to find study partners for any topic of their choice. The application is built using the Django framework and is deployed on Azure. The application is also containerized using Docker and is deployed using Github Actions. +**Problem Statement:** Students often struggle to find like-minded peers for collaborative learning on specific topics. - > StudyBuddy solves the problem of students not being able to find study partners for a particular topic. The application allows students to find study partners for any topic of their choice. The application also allows students to create study groups for a particular topic. +**Solution:** StudyBuddy provides an intuitive platform where students can discover study partners, create topic-specific study rooms, engage in real-time discussions, and build a community around shared learning goals. --- -## ๐Ÿ”ฎFeatures +## ๐Ÿ”ฎ Features -- **Easy to use** - The user interface of the project is very simple and easy to use. -- **Used Docker** - The project is containerized using Docker. -- **Implementated CI/CD** - The project is also integrated with GitHub Actions for continuous integration and continuous deployment. -- **Deployed on Azure** - The project is deployed on Azure using GitHub Actions. -- **Responsive** - The project is responsive and can be used on any device. -- **Login/Signup** - The user can login or signup to the application and create a profile. -- **Create/Join Study Rooms** - The user can create/join study rooms for a particular topic and interact with other users. -- **Profile** - The user can view their profile and edit their profile. -- **Search** - The user can search for a particular topic and find study rooms for that topic. +- **User Authentication** - Secure login and signup system with personalized user profiles +- **Study Room Management** - Create, join, and participate in topic-specific study rooms +- **Real-time Messaging** - Interactive communication within study rooms +- **Topic-based Search** - Find study rooms by searching for specific subjects or topics +- **User Profiles** - View and edit personal profiles, track participation history +- **Responsive Design** - Seamless experience across desktop, tablet, and mobile devices +- **REST API** - Comprehensive API for programmatic access and integration +- **Docker Support** - Containerized deployment for consistent environments +- **CI/CD Pipeline** - Automated testing and deployment via GitHub Actions +- **Cloud Deployment** - Production-ready deployment on Azure --- -## ๐Ÿ“ธScreenshots +## ๐Ÿ“‚ Project Structure ->Login Page +```text +StudyBuddy/ +โ”œโ”€โ”€ StudyBuddy/ # Project configuration +โ”‚ โ”œโ”€โ”€ settings.py # Django settings +โ”‚ โ”œโ”€โ”€ urls.py # Root URL configuration +โ”‚ โ”œโ”€โ”€ asgi.py # ASGI config +โ”‚ โ””โ”€โ”€ wsgi.py # WSGI config +โ”œโ”€โ”€ base/ # Main application +โ”‚ โ”œโ”€โ”€ api/ # REST API +โ”‚ โ”‚ โ”œโ”€โ”€ serializers.py # Data serializers +โ”‚ โ”‚ โ”œโ”€โ”€ urls.py # API routes +โ”‚ โ”‚ โ””โ”€โ”€ views.py # API views +โ”‚ โ”œโ”€โ”€ migrations/ # Database migrations +โ”‚ โ”œโ”€โ”€ templates/base/ # HTML templates +โ”‚ โ”œโ”€โ”€ models.py # Database models +โ”‚ โ”œโ”€โ”€ views.py # View logic +โ”‚ โ”œโ”€โ”€ urls.py # App URL patterns +โ”‚ โ””โ”€โ”€ forms.py # Form definitions +โ”œโ”€โ”€ static/ # Static assets +โ”‚ โ”œโ”€โ”€ images/ # Icons and avatars +โ”‚ โ”œโ”€โ”€ js/ # JavaScript files +โ”‚ โ””โ”€โ”€ styles/ # CSS stylesheets +โ”œโ”€โ”€ templates/ # Global templates +โ”‚ โ”œโ”€โ”€ main.html # Base layout +โ”‚ โ””โ”€โ”€ navbar.html # Navigation component +โ”œโ”€โ”€ manage.py # Django CLI utility +โ”œโ”€โ”€ Dockerfile # Docker configuration +โ”œโ”€โ”€ requirements.txt # Python dependencies +โ””โ”€โ”€ README.md # This file +``` + +**Key Directories:** +- `base/`: Core application logic including models, views, and templates +- `base/api/`: REST API implementation using Django REST Framework +- `static/`: Frontend assets (CSS, JavaScript, images) +- `templates/`: Global HTML layouts and reusable components + +--- + +## ๐Ÿ“ธ Screenshots + +
+Click to view screenshots + +### Login Page ![login-page](https://user-images.githubusercontent.com/81465377/216761524-6e08761a-7d7d-40b6-9949-ba2bdc0a5a2a.jpg) ->Signup Page +### Signup Page ![signup-page](https://user-images.githubusercontent.com/81465377/216761550-02830aa7-c529-413c-b8e1-4436a02fe910.jpg) ->Home Page +### Home Page ![home](https://user-images.githubusercontent.com/81465377/216761576-5e4621d2-953d-41ad-b8dd-6f5ff65993ef.jpg) ->Profile Page +### Profile Page ![profile](https://user-images.githubusercontent.com/81465377/216761593-c2085db8-b5a1-4a5b-80df-759d2224ac14.jpg) ->Create Study Room +### Create Study Room ![create-room](https://user-images.githubusercontent.com/81465377/216761626-c729058a-5609-4478-845c-418fb95c4085.jpg) ->Study Room +### Study Room ![room](https://user-images.githubusercontent.com/81465377/216761652-35407aa9-1dff-406b-86fc-df1659b6f4d8.jpg) ->Edit Profile +### Edit Profile ![edit-profile](https://user-images.githubusercontent.com/81465377/216761663-86396871-c40c-41e2-a9b9-3f5a8b0dcee7.jpg) +
+ --- -## ๐ŸŽฅDemo -![Youtube](https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white)
-[![Video](https://img.youtube.com/vi/GReHXtIDayg/0.jpg)](https://www.youtube.com/watch?v=GReHXtIDayg) +## ๐ŸŽฅ Demo ---- +[![YouTube](https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/watch?v=GReHXtIDayg) -## ๐Ÿ“‚Installation +Watch the full demonstration video on YouTube: -- Clone the repository +[![Video Thumbnail](https://img.youtube.com/vi/GReHXtIDayg/0.jpg)](https://www.youtube.com/watch?v=GReHXtIDayg) -```bash -git clone https://github.com/abhikalparya/StudyBuddy.git -``` +--- + +## ๐Ÿš€ Setup & Installation + +### Prerequisites + +- Python 3.8 or higher +- pip (Python package manager) +- Git +- Docker (optional, for containerized deployment) + +### Option A: Local Development + +1. **Clone the Repository** + ```bash + git clone https://github.com/abhikalparya/StudyBuddy.git + cd StudyBuddy + ``` + +2. **Create Virtual Environment** + ```bash + python -m venv venv + + # On Windows + venv\Scripts\activate + + # On macOS/Linux + source venv/bin/activate + ``` + +3. **Install Dependencies** + ```bash + pip install -r requirements.txt + ``` + +4. **Initialize Database** + ```bash + python manage.py migrate + python manage.py createsuperuser + ``` + +5. **Run Development Server** + ```bash + python manage.py runserver + ``` + +6. **Access the Application** + + Open your browser and navigate to `http://localhost:8000` + +### Option B: Docker Deployment (Recommended) + +1. **Build Docker Image** + ```bash + docker build -t studybuddy-app . + ``` + +2. **Run Container** + ```bash + docker run -p 8000:8000 studybuddy-app + ``` + +3. **Access the Application** + + Open your browser and navigate to `http://localhost:8000` + +> [!TIP] +> For production deployment, ensure you configure environment variables for `SECRET_KEY`, `DEBUG`, and database settings. + +--- + +## ๐Ÿ›  API Documentation + +StudyBuddy provides a REST API for programmatic access: -- Install the requirements +| Endpoint | Method | Description | +|----------|--------|-------------| +| `/api/` | GET | API root - lists all available endpoints | +| `/api/rooms/` | GET | Returns all study rooms with metadata | +| `/api/rooms//` | GET | Detailed information for a specific room | + +### Example API Request ```bash -pip install -r requirements.txt +curl http://localhost:8000/api/rooms/ ``` -- Run the server +### Example API Response -```bash -python manage.py runserver +```json +[ + { + "id": 1, + "name": "Python Programming Study Group", + "topic": "Python", + "host": "john_doe", + "participants": 5, + "created": "2026-01-10T10:30:00Z" + } +] ``` + +--- + + +## ๐Ÿ› Bug Reports + +Found a bug? Please open an [issue](https://github.com/abhikalparya/StudyBuddy/issues) with: +- Clear description of the bug +- Steps to reproduce +- Expected vs actual behavior +- Screenshots (if applicable) + +--- + +## ๐Ÿ“„ License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. + +--- + +## ๐Ÿ‘จโ€๐Ÿ’ป Author + +**Abhikal Parya** + +- GitHub: [@abhikalparya](https://github.com/abhikalparya) + +--- + +## ๐Ÿ™ Acknowledgments + +- Django community for excellent documentation +- All contributors who helped improve this project +- ESWoC'26 for providing a platform for open-source contribution + +--- + +## ๐Ÿ“ž Support + +For questions or support, please: +- Open an issue on GitHub +- Reach out via the repository discussions + +--- + +
+ +**If you find this project helpful, please give it a โญ!** + +Made with โค๏ธ for students, by students + +
\ No newline at end of file