A comprehensive social media platform built with Flask, featuring real-time interactions, ephemeral stories, and modern glass morphism design.
- User Authentication: Secure login/register with password reset functionality
- Real-time Messaging: Direct messages between users
- Post Creation: Text posts with image upload support
- Social Interactions: Like, comment, and reshare posts
- Follow System: Follow/unfollow users with notifications
- Ephemeral Stories: 24-hour disappearing stories with views tracking
- Notifications: Real-time notifications for all social interactions
- Public Feed: Discover content from all users
- Profile Management: Customizable user profiles with avatars
- Search & Discovery: Find users and explore content
- Testimonials: User testimonials with authentic photos
- Responsive Design: Mobile-first approach with dark/light themes
- Glass Morphism UI: Modern 3D effects and animations
Experience SocialSphere live: https://socialsphere.replit.app
- Username:
Trinityu - Email:
bluesmugri@gmail.com - Password:
Mugabe
- Backend: Flask, SQLAlchemy, Flask-Login
- Frontend: Bootstrap 5, Tailwind CSS, Vanilla JavaScript
- Database: PostgreSQL (production) / SQLite (development)
- Authentication: Flask-Login with session management
- File Upload: PIL for image processing
- Styling: Glass morphism design with 3D effects
- Python 3.11+
- PostgreSQL (for production)
-
Clone the repository
git clone https://github.com/yourusername/socialsphere.git cd socialsphere -
Install dependencies
pip install -r requirements.txt
-
Set environment variables
export SESSION_SECRET="your-secret-key" export DATABASE_URL="sqlite:///socialsphere.db" # or PostgreSQL URL
-
Run the application
python main.py
-
Access the application Open http://localhost:5000 in your browser
- Fork this repository to your GitHub account
- Create a new Replit project and import from GitHub
- Set environment variables in Replit Secrets:
SESSION_SECRET: Your session secret keyDATABASE_URL: PostgreSQL connection string (auto-provided by Replit)
- Run the project
socialsphere/
├── app.py # Flask application configuration
├── main.py # Application entry point
├── models.py # Database models
├── routes.py # Application routes
├── forms.py # WTForms definitions
├── utils.py # Utility functions
├── templates/ # Jinja2 templates
│ ├── base.html
│ ├── index.html
│ ├── profile.html
│ └── ...
├── static/ # Static assets
│ ├── css/
│ ├── js/
│ └── uploads/
└── requirements.txt # Python dependencies
- Glass Morphism: Modern translucent design elements
- 3D Effects: Hover animations and depth perception
- Dark/Light Themes: Automatic theme switching
- Responsive Layout: Mobile-first responsive design
- Smooth Animations: CSS transitions and hover effects
SESSION_SECRET: Required for session managementDATABASE_URL: Database connection stringFLASK_ENV: Set to 'development' for debug mode
The application automatically creates all necessary tables on first run.
- Register: Create a new account or use demo credentials
- Profile Setup: Upload avatar and fill profile information
- Create Posts: Share text and images with the community
- Social Interaction: Like, comment, and reshare posts
- Follow Users: Build your social network
- Stories: Share ephemeral 24-hour content
- Messaging: Send direct messages to other users
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with ❤️ using modern web technologies
- Stock photos from Unsplash for testimonials
- Icons from Font Awesome
- UI components from Bootstrap and Tailwind CSS
For support, create an issue on GitHub or contact the development team.
SocialSphere - Connect, Share, Discover ✨