A full-featured social media platform with real-time messaging, post interactions, and user connections.
- Secure signup/login with credential validation
- Profile management with image upload
- Password protected sessions
- Create and share image posts with captions
- Like/unlike posts with real-time counters
- Follow/unfollow other users
- Search for users by username
- View user profiles with follower statistics
- Suggested users to follow
- WebSocket-based messaging
- Typing indicators
- Message read receipts
- Chat history persistence
- Responsive UI with Tailwind CSS
- File upload handling (images)
- Activity feed with followed users' posts
- User review system
- Python 3.8+
- pip package manager
- Virtual environment (recommended)
git clone https://github.com/itsgaurav355/Let-s-Connect.git
cd Let-s-Connect
python -m venv venv
# Linux/Mac
source venv/bin/activate
# Windows
venv\Scripts\activate
pip install django pillow channels
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
project/
├── core/ # Main application
│ ├── models.py # Database models
│ ├── views.py # Business logic
│ ├── urls.py # App routes
│ └── admin.py # Admin configurations
├── project/ # Project settings
│ ├── settings.py # Project configuration
│ ├── urls.py # Main routes
│ └── wsgi.py # WSGI config
├── templates/ # HTML templates
├── static/ # Static assets
│ └── assets/ # CSS, JS, images
├── media/ # User-uploaded files
└── manage.py # Django CLI
- Database: SQLite (default), can be changed in
settings.py
- Static/Media Files: Configured in
settings.py
- Authentication: Session-based with Django's built-in system
- Real-time Features: Using Django Channels (WebSockets)
# Development mode
python manage.py runserver
# Production setup (example)
# Configure ALLOWED_HOSTS in settings.py
# Set DEBUG=False
# Add proper database configuration
- Fork the repository
- Create your feature branch:
git checkout -b feature/your-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin feature/your-feature
- Open a Pull Request