https://github.com/emhash/bloome
Fullstack Django social media web app with newsfeed, chat, friends and so on.
https://github.com/emhash/bloome
all-auth bootstrap chatxity css django django-application django-rest-framework django-social-network django-website html htmx javacript python social-media social-network
Last synced: 3 months ago
JSON representation
Fullstack Django social media web app with newsfeed, chat, friends and so on.
- Host: GitHub
- URL: https://github.com/emhash/bloome
- Owner: emhash
- License: mit
- Created: 2024-06-22T14:02:08.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-22T18:48:02.000Z (almost 2 years ago)
- Last Synced: 2025-02-01T00:14:02.202Z (over 1 year ago)
- Topics: all-auth, bootstrap, chatxity, css, django, django-application, django-rest-framework, django-social-network, django-website, html, htmx, javacript, python, social-media, social-network
- Language: CSS
- Homepage: https://bloome.pythonanywhere.com/
- Size: 44.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

Bloome Β Β·Β Production-Ready Django Social Network
π Full-Stack Social Media Platform | Real-time Chat | Smart News Feed | Open Source
---
> **Bloome** is a production-grade Django social-media platform featuring a news-feed, real-time one-to-one chat, friend requests, likes, comments, and media uploads.
Table of contents
- [Live demo](#live-demo)
- [June 2025 New Update](#-june-2025-new-update)
- [Feature tour](#feature-tour)
- [Tech stack](#tech-stack)
- [Screenshots](#screenshots)
- [Quick Start(Local Setup)](#quick-startlocal-setup)
---
## π Live demo
π **URL:**
πͺ **Demo account:** `demo@gmail.com` **Password:** `demo1234`
β οΈ *Free tier sleeps after 15 min idle; first hit may take ~30 s to spin up.*
---
## β¨ Feature tour
- **News-feed** with likes, comments, and friend requests
- **Real-time chat** (WebSockets) with online presence
- **Async tasks** (Celery) powering welcome-email flow
- **Object storage** on Backblaze B2 (S3-compatible)
- **Zero-downtime deploys** on Render using Gunicorn + UvicornWorker
- **Responsive UI** built with Bootstrap 5 & HTMX
- **Modular settings** (`development.py`, `production.py`, `local.py`) ready for 12-factor apps
---
## π οΈ Tech Stack
| **Layer** | **Technologies** | **Purpose** |
|-----------|------------------|-------------|
| **π¨ Frontend** | Bootstrap 5, HTMX, JavaScript, CSS3 | Responsive UI, Real-time interactions |
| **βοΈ Backend** | Django 4.2+, Django Channels, Python 3.8+ | Web framework, WebSocket support |
| **π Real-time** | Daphne ASGI, Redis, WebSockets | Async processing, Chat, Notifications |
| **πΎ Database** | SQLite (dev), MySQL/PostgreSQL (prod) | Data persistence, Relationships |
| **βοΈ Storage** | Backblaze B2 (S3-compatible) | Media files, Static assets |
| **π Deployment** | Render, Gunicorn, UvicornWorker | Production hosting, Load balancing |
| **π§ Tasks** | Celery, Redis Broker | Background jobs, Email sending |
---
## πΈ Screenshots

---
## π Quick Start(Local Setup)
Note: You can add both MySQL or SQLite database. The configuration is added in the settings.py so you just have to uncomment the code and set database host, user, password and port.
Warning: If you face any database related error then you have to add the information by using python-dot-env or directly in the code of MySQL setup.
Clone the repository & Navigate to the project directory:
```bash
git clone https://github.com/emhash/Bloome
cd Bloome
```
Create a virtual envoirnment:
```bash
python -m venv myenv
```
Active virtual envoirnment with Bash terminal:
```bash
source myenv/Scripts/activate
```
(You can activate the virtual envoirnment using any terminal. Based on the terminal the activation process of virtual envoirnment might be different)
Now install the necessary module & start the server:
```bash
pip install -r requirements.txt
python manage.py runserver
```
**In case of migration problem migrate and then run the server**
```bash
python manage.py makemigrations
python manage.py migrate
```
---
## π June 2025 New Update
| Pillar | Whatβs new | Why it matters |
|--------|------------|----------------|
| **Architecture & DX** | Re-organised project into a layered folder structure. Added `.gitignore`, sample `.env`, and commented S3 settings. | Accelerates onboarding and prevents secrets leakage. |
| **Real-time features** | One-to-one chat via **Django Channels** + **Daphne** (ASGI). | Demonstrates WebSocket and async proficiency. |
| **Cloud storage** | Integrated Backblaze **B2 S3** bucket for media uploads. | Shows cost-efficient object-storage skills. |
| **Modern hosting** | Migrated PythonAnywhere β **Render** native-ASGI. | Hands-on container/cloud deployment experience. |
| **Email & tasks** | Automated welcome email + full **Celery + Redis** setup ready for future jobs. | Production-ready background-job architecture. |
| **Security** | Fixed CSRF issues; secrets/hosts now env-driven. | Secure-by-default mindset. |
---
## π€ Contributing
We β€οΈ contributions! Join our growing community of developers.
### π **Ways to Contribute**
- π **Bug Reports** - Help us improve
- β¨ **Feature Requests** - Share your ideas
- π **Documentation** - Improve our guides
- π§ **Code Contributions** - Submit PRs
- π¨ **UI/UX Improvements** - Enhance the design
- π **Translations** - Make it global
### π **Quick Contribution Steps**
1. **Fork** the repository
2. **Create** your feature branch (`git checkout -b feature/AmazingFeature`)
3. **Commit** your changes (`git commit -m 'Add AmazingFeature'`)
4. **Push** to the branch (`git push origin feature/AmazingFeature`)
5. **Open** a Pull Request
### π **Contributors**
Thanks to all our amazing contributors! π
---
## π Project Stats






---
### π **Ready to build the next big social platform?**
**β Star this repo** β’ **π΄ Fork it** β’ **π’ Share it** β’ **π€ Contribute**
**Made by [Md Emran Hossan Ashiq](https://github.com/emhash)**
---
*π₯ **Trending:** #Django #SocialMedia #Python #WebDevelopment #OpenSource #RealTime #FullStack*