A Django-based social networking platform backend with real-time chat, posts, profiles, and activity feeds.
- User Authentication - Registration, login, password reset with OTP verification
- Profiles - User profiles with work experience, education, skills, and locations
- Posts - Create, like, and comment on posts
- Chat - Real-time messaging with WebSocket support
- Activity Feed - Notifications for likes, comments, follows, and connections
- Connections - Follow users and manage connections
- Onboarding - User onboarding flow with topic selection
- Framework: Django 5.2 + Django REST Framework
- Database: PostgreSQL 15
- Cache/Message Broker: Redis 7
- ASGI Server: Daphne (WebSocket support)
- Object Storage: MinIO (S3-compatible)
- Documentation: drf-spectacular (Swagger/OpenAPI)
- Containerization: Docker & Docker Compose
- Docker & Docker Compose
- Python 3.10+ (for local development)
# Clone the repository
git clone <repository-url>
cd BizBuch-Backend
# Start all services
docker compose up -d
# View logs
docker compose logs -f webThe API will be available at:
- API: http://localhost:8000
- Swagger Docs: http://localhost:8000/api/docs/
- pgAdmin: http://localhost:5050
- RedisInsight: http://localhost:5540
- MinIO Console: http://localhost:9001
# Create virtual environment
python -m venv venv
source venv/bin/activate # Linux/Mac
# or
venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env # Edit with your settings
# Run migrations
python manage.py migrate
# Start development server
python manage.py runserver| Variable | Description | Default |
|---|---|---|
DEBUG |
Debug mode | True |
DB_HOST |
PostgreSQL host | db |
DB_PORT |
PostgreSQL port | 5432 |
POSTGRES_DB |
Database name | bizbuch |
POSTGRES_USER |
Database user | postgres |
POSTGRES_PASSWORD |
Database password | postgres |
REDIS_HOST |
Redis host | redis |
AWS_ACCESS_KEY_ID |
MinIO/S3 access key | - |
AWS_SECRET_ACCESS_KEY |
MinIO/S3 secret key | - |
AWS_S3_ENDPOINT_URL |
S3 endpoint URL | - |
AWS_S3_BUCKET |
S3 bucket name | bizbuch |
OTP_VERIFICATION_ENABLED |
Enable OTP verification | False |
BizBuch-Backend/
βββ accounts/ # User authentication & management
βββ activity/ # Notifications & activity feed
βββ chat/ # Real-time messaging
βββ core/ # Core middleware & utilities
βββ intelligence/ # Recommendation services
βββ onboarding/ # User onboarding flow
βββ posts/ # Posts, likes, comments
βββ profiles/ # User profiles & connections
βββ uploads/ # File upload services (S3)
βββ mysite/ # Django project settings
βββ docker-compose.yml
βββ Dockerfile
βββ requirements.txt
βββ manage.py
Once the server is running, visit:
- Swagger UI: http://localhost:8000/api/docs/
- OpenAPI Schema: http://localhost:8000/api/schema/
# Start services
docker compose up -d
# Stop services
docker compose down
# Rebuild after dependency changes
docker compose up --build web
# Restart web service (for code changes)
docker compose restart web
# Run migrations
docker compose exec web python manage.py migrate
# Create superuser
docker compose exec web python manage.py createsuperuser
# Access Django shell
docker compose exec web python manage.py shell
# View logs
docker compose logs -f web# Using Docker
docker compose exec web python manage.py test
# Local
python manage.py testThis project is proprietary software. All rights reserved.
- BizBuch Team