Network - Social Media Platform
A modern, feature-rich social media platform built with Django. I've created Network to provide users with a seamless experience for connecting, sharing, and engaging with their community.
Overview
Network is a full-featured social media application that enables users to create profiles, share posts, engage with content through likes and comments, and build meaningful connections by following other users. The platform prioritizes user experience, security, and scalability.
Features
π Authentication & Authorization
- User Registration: Iβve implemented a secure registration system with validation and password protection
- Login System: Secure authentication mechanism with session management
- Custom User Model: Extends Djangoβs built-in user model for flexibility and future scalability
- Protected Routes: Ensure only authenticated users can access sensitive features
π₯ User Profiles
- Profile Management: I enable users to create and customize their profiles with bio and avatar
- Profile Viewing: Browse other usersβ profiles and view their contributions
- Profile Editing: Users can update their information easily through an intuitive interface
π Social Connections
- Follow System: Iβve implemented a robust follow/unfollow feature to build user networks
- Follower/Following Lists: Track connections and view user networks
- Relationship Management: Seamless interface to manage social connections
π Posts & Content
- Create Posts: Users can share thoughts and content with title and detailed content
- Edit Posts: I allow users to modify their posts after creation
- Delete Posts: Users maintain full control over their content
- Post Feed: Iβve created a personalized feed showing posts from users you follow
- All Posts Feed: Browse the complete network feed with pagination
β€οΈ Engagement Features
- Like System: Iβve implemented real-time like functionality for posts with AJAX
- Comment on Posts: Users can engage in discussions through post comments
- Edit Comments: Modify comments after posting
- Delete Comments: Remove unwanted comments with full control
π― Additional Features
- Admin Control Panel: I provide administrative capabilities for platform management
- About Section: Information about the platform
- Contact Page: Users can reach out for support or feedback
- Responsive Design: Iβve ensured the platform works seamlessly across all devices
- Pagination: Efficient content loading with paginated feeds
- 404 Error Handling: User-friendly error pages for better experience
Tech Stack
Backend
- Django 5.2.7: Modern Python web framework
- Python: Core language for backend development
- MySQL: Database for data persistence
Frontend
- HTML5: Semantic markup structure
- CSS3: Responsive and modern styling
- JavaScript: Dynamic client-side interactions
Tools & Libraries
- Django Admin: Built-in admin interface for management
- Django ORM: Database abstraction layer
- Django Templates: Server-side template rendering
Installation
Prerequisites
- Python 3.8 or higher
- pip (Python package manager)
- Virtual environment support
Setup Instructions
-
Clone the Repository
git clone https://github.com/krsahil8825/Network-social-media-platform.git cd Network -
Create Virtual Environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
Install Dependencies
pip install -r requirements.txt -
Run Migrations
python manage.py migrate -
Create Superuser (Admin)
python manage.py createsuperuser -
Start Development Server
python manage.py runserver -
Access the Application
- Main Application:
http://localhost:8000 - Admin Panel:
http://localhost:8000/admin
- Main Application:
Project Structure
Network/
βββ authenticate/ # User authentication and registration
βββ core/ # Core application with about and contact
βββ feed_and_posts/ # Posts, comments, and feed management
βββ users/ # User profiles and social connections
βββ admincontrol/ # Admin functionality
βββ network/ # Project settings and configuration
βββ static/ # CSS, JavaScript, and images
βββ templates/ # HTML templates
βββ db.sqlite3 # SQLite database
βββ manage.py # Django management script
βββ requirements.txt # Python dependencies
Usage Guide
For Users
- Register & Login: Create an account and log in to the platform
- Complete Your Profile: Add a bio and avatar to personalize your profile
- Start Following: Discover and follow other users to build your network
- Create Posts: Share your thoughts with meaningful titles and content
- Engage: Like posts and comment on content from others
- Manage Content: Edit or delete your posts and comments anytime
For Administrators
- Access the admin panel at
/admin - Manage users, posts, comments, and platform settings
- Monitor user activity and ensure community guidelines
Dependencies
Iβve used the following key dependencies:
Django==5.2.7- Web frameworkasgiref==3.10.0- ASGI supportsqlparse==0.5.3- SQL parsingtzdata==2025.2- Timezone datavalidators==0.35.0- Data validationrequests==2.32.5- HTTP library
For complete list, see requirements.txt.
Future Enhancements
Iβm planning to add the following features:
- Direct Messaging: Private communication between users
- Notifications: Real-time updates for user interactions
- Search Functionality: Discover users and posts easily
- Trending Tags: Popular content discovery
- Media Upload: Support for images and videos in posts
- User Recommendations: Personalized friend suggestions
- Dark Mode: Enhanced user interface options
Contributing
I welcome contributions to make Network better! If you have suggestions or improvements:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
Iβve licensed this project under the MIT License. See the LICENSE file for details.
Contact
Iβd love to hear from you! For questions, feedback, or collaboration:
- GitHub: krsahil8825
- Email: krsahil8825@gmail.com
Acknowledgments
Iβd like to thank the Django community for the excellent framework and documentation that made this project possible.
Made with β€οΈ by Kumar Sahil
Browse other projects that demonstrate real-world problem solving, and production-ready development.