Skip to content

Gopal-dutta/CredUNITY

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CredUNITY

CredUNITY is a web application that allows users to create and join groups for sharing subscription costs of OTT (Over-The-Top) platforms like Disney+Hotstar, SonyLIV, and Zee5.

About

In today's digital entertainment landscape, subscription costs for multiple OTT platforms can add up quickly. CredUNITY provides a solution by enabling users to form groups, split subscription costs, and manage payments together. The platform includes real-time chat, payment tracking, and transparent contribution management.

Features

  • User Authentication: Secure registration and login system with email, phone, and username support
  • Group Management: Create, join, and manage subscription sharing groups
  • Multi-Platform Support: Support for Disney+ Hotstar, SonyLIV, and Zee5 plans
  • Real-time Chat: Built-in group chat using Socket.IO for communication between members
  • Wallet System: Track contributions and manage payments for each group
  • Digital Receipts: Generate individual and group receipts for payments
  • Invite System: Join private groups with invite links or discover public groups

Project Structure

CredUNITY/
│
├── logs/              # Log files directory
│
├── src/               # Source code 
│   ├── api/           # API endpoints
│   ├── config/        # Configuration settings
│   ├── core/          # Core application logic
│   ├── db/            # Database operations and models
│   ├── routes/        # Route handlers
│   ├── static/        # Static files (CSS, JS, images)
│   ├── templates/     # HTML templates
│   └── utils/         # Utility functions
│
├── instance/          # Instance-specific data
├── main.py            # Application entry point
├── credunity.db       # SQLite database
├── install.bat        # Installation script for Windows
├── install.sh         # Installation script for Linux
├── requirements.txt   # Python dependencies
└── README.md          # Project documentation

Installation

Using Installation Scripts (Recommended)

Windows

  1. Clone the repository
  2. Run install.bat
  3. Select option 1 for first-time setup or option 2 to run directly
  4. Access the application at http://localhost:5050

Linux

  1. Clone the repository
  2. Make the installation script executable: chmod +x install.sh
  3. Run ./install.sh
  4. Select option 1 for first-time setup or option 2 to run directly
  5. Access the application at http://localhost:5050

Manual Installation

  1. Clone the repository:

    git clone https://github.com/Gopal-dutta/CredUNITY
    cd CredUNITY
    
  2. Create a virtual environment:

    python -m venv env
    
  3. Activate the virtual environment:

    • Windows: env\Scripts\activate.bat
    • Linux/Mac: source env/bin/activate
  4. Install dependencies:

    pip install -r requirements.txt
    
  5. Initialize the database:

    python -c "from src.db.db_init import init_database; from src.config.config import DATABASE; init_database(DATABASE)"
    
  6. Run the application:

    python main.py
    
  7. Access the application at http://localhost:5050

Usage Guide

Creating a Group

  1. Register or log in to your account
  2. Navigate to "Create Group" from the dashboard
  3. Select the OTT platform, subscription plan, and group size
  4. Set visibility (public or private)
  5. Share the generated invite link with friends

Joining a Group

  1. Use the "Join Group" feature to browse available public groups
  2. Or paste a private invite link in the "Join by Invite" section
  3. Follow the prompts to confirm joining the group

Making Contributions

  1. Navigate to your group's page
  2. Go to the "Wallet" section
  3. Enter the amount you'd like to contribute
  4. Track contributions from all group members

Technical Details

  • Backend: Flask 3.0.2 with Python 3.10
  • Database: SQLite3
  • Real-time Communication: Socket.IO with eventlet
  • Async Support: Eventlet for non-blocking I/O
  • Frontend: HTML, CSS, JavaScript with Flask templating
  • Logging: Rotating file logs for application, database, and Socket.IO

Development

To set up a development environment:

  1. Follow the installation instructions above
  2. Make code changes in the appropriate directories within src/
  3. Run the application with debug mode:
    python -c "import os; os.environ['DEBUG'] = 'True'; from main import app, socketio; socketio.run(app, debug=True)"
    

License

This project is licensed under the terms of the license included in the LICENSE file.

Contributors

  • Gopal Dutta , Anshul , Dipanshu Sharma, Chaitany Agrawal and Anubhav Bannerjee

Acknowledgments

  • Flask and Socket.IO communities
  • Python community

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors