A secure social media platform exclusively for Gauhati University students
AddaGU enables university students to connect, share content, and communicate through secure real-time messaging with end-to-end encryption.
- 🔐 Secure Messaging: End-to-end encrypted chat with Fernet (AES-128 + HMAC-SHA256)
- 📱 Real-time Updates: Live notifications for posts, comments, and messages via WebSockets
- � Smart Notifications: Instagram-style notification system for follows, likes, comments, and messages
- �👤 User Management: Custom authentication with profile management
- 📝 Social Features: Create, share, and interact with posts, comments, and likes
- 🎨 Modern UI: Responsive design built with Bootstrap 5
| Component | Technology |
|---|---|
| Backend | Django 4.0+, Django Channels |
| Frontend | Django Templates, Bootstrap 5 |
| Database | SQLite3 (Development) |
| Real-time | WebSockets via Django Channels |
| Security | Fernet Encryption, PBKDF2 Key Derivation |
- Encryption Algorithm: Fernet symmetric encryption (AES-128 + HMAC-SHA256)
- Key Derivation: PBKDF2 with SHA256, 100,000 iterations
- Access Control: Message-level encryption ensuring only sender/receiver access
- Data Protection: All chat messages encrypted at rest
- Real-time Notifications: Instant updates for user activities
- Activity Types: Follow, Like, Comment, and Message notifications
- Instagram-style UI: Modern notification interface with unread indicators
- Smart Badges: Dynamic notification counts in navigation bar
- Auto-refresh: Periodic updates every 30 seconds for real-time experience
- Python 3.8+
- pip package manager
-
Clone and Setup
git clone https://github.com/Bishal1234-ui/AddaGU.git cd AddaGU python -m venv env env\Scripts\activate # Windows # source env/bin/activate # macOS/Linux
-
Install Dependencies
pip install -r requirements.txt
-
Database Setup
python manage.py migrate
-
Environment Configuration (Production)
# Set encryption key for production set CHAT_MASTER_KEY=your-super-secure-key-here
-
Run Application
daphne -p 8001 GUBlogs.asgi:application
-
Access Application Open http://127.0.0.1:8001/ in your browser
GUBlogs/
├── blogs/ # Blog post functionality
├── users/ # User management & authentication
├── GUBlogs/ # Main project settings
├── media/ # User uploaded content
└── staticfiles/ # Static assets
- Send a test message in chat
- Check database - messages appear as encrypted base64 strings
- Verify decryption works in chat interface
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue
- Contact: [Your Contact Information]



