Skip to content

casmonster/SocialSphere

Repository files navigation

SocialSphere - Modern Social Media Platform

Live Demo Python Flask License

A comprehensive social media platform built with Flask, featuring real-time interactions, ephemeral stories, and modern glass morphism design.

🌟 Features

Core Social Features

  • 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

Advanced Features

  • 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

🚀 Live Demo

Experience SocialSphere live: https://socialsphere.replit.app

Demo Credentials

  • Username: Trinityu
  • Email: bluesmugri@gmail.com
  • Password: Mugabe

🛠️ Technology Stack

  • 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

📦 Installation

Prerequisites

  • Python 3.11+
  • PostgreSQL (for production)

Local Development

  1. Clone the repository

    git clone https://github.com/yourusername/socialsphere.git
    cd socialsphere
  2. Install dependencies

    pip install -r requirements.txt
  3. Set environment variables

    export SESSION_SECRET="your-secret-key"
    export DATABASE_URL="sqlite:///socialsphere.db"  # or PostgreSQL URL
  4. Run the application

    python main.py
  5. Access the application Open http://localhost:5000 in your browser

Replit Deployment

  1. Fork this repository to your GitHub account
  2. Create a new Replit project and import from GitHub
  3. Set environment variables in Replit Secrets:
    • SESSION_SECRET: Your session secret key
    • DATABASE_URL: PostgreSQL connection string (auto-provided by Replit)
  4. Run the project

🏗️ Project Structure

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

🎨 Design Features

  • 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

🔧 Configuration

Environment Variables

  • SESSION_SECRET: Required for session management
  • DATABASE_URL: Database connection string
  • FLASK_ENV: Set to 'development' for debug mode

Database Setup

The application automatically creates all necessary tables on first run.

📱 Usage

  1. Register: Create a new account or use demo credentials
  2. Profile Setup: Upload avatar and fill profile information
  3. Create Posts: Share text and images with the community
  4. Social Interaction: Like, comment, and reshare posts
  5. Follow Users: Build your social network
  6. Stories: Share ephemeral 24-hour content
  7. Messaging: Send direct messages to other users

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Built with ❤️ using modern web technologies
  • Stock photos from Unsplash for testimonials
  • Icons from Font Awesome
  • UI components from Bootstrap and Tailwind CSS

📞 Support

For support, create an issue on GitHub or contact the development team.


SocialSphere - Connect, Share, Discover ✨

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors