// the find
manjurulhoque/django-social-network
Django based social network
A Django 4.0 social network with friend requests, a newsfeed, real-time chat via Django Channels, and WebSocket-based notifications. It's a learning project — the kind you build to understand how the pieces fit together, not to run in production.
Django Channels integration is the most interesting part: WebSocket consumers for both chat and friend-request notifications are split into separate apps (communications, friends), which is cleaner than shoving it all in one place. The friend request model uses a status field on the Friend model rather than a separate pending/accepted table, which keeps queries simple. Django REST Framework serializers are used alongside traditional views, so you can see both patterns in the same codebase. Project structure follows Django app conventions cleanly — accounts, newsfeed, friends, communications are each self-contained with their own migrations.
The SQLite database file (social.sqlite3) is committed to the repo, which is a beginner mistake that could expose real data if someone runs it with actual users. No tests worth mentioning — the tests.py files exist but are almost certainly empty boilerplate. Settings.py appears to be a single file with no separation between dev and production config, which means someone deploying this will inevitably expose DEBUG=True or a hardcoded SECRET_KEY. Bootstrap 5.0.2 static files are vendored directly into the repo rather than using a CDN or package manager, adding unnecessary bulk to git history.