A modern web-based meeting platform that enables real-time communication and collaboration.
- Real-time Communication: Connect with participants seamlessly
- Meeting Management: Create, schedule, and manage meetings
- Customizable Permissions: Control participant access and capabilities
- Multiple Meeting Types: Support for different meeting formats
- Responsive Design: Works on desktop and mobile devices
- Backend: Django (Python)
- Real-time Communication: Flask with Socket.IO
- Database: PostgreSQL
- Containerization: Docker & Docker Compose
- Frontend: HTML, CSS, JavaScript with jQuery
- Docker and Docker Compose
- Git
-
Clone the repository:
git clone https://github.com/ashcode002x/sprout.git cd sprout -
Create your
.envfile (or use the existing one for development):cp .env.example .env
-
Build and start the containers:
docker-compose up -d
-
Access the application:
- Django app: http://localhost:8000
- Socket.IO server: http://localhost:5000
The project uses the following environment variables:
Database Configuration
POSTGRES_DB: Database namePOSTGRES_USER: Database userPOSTGRES_PASSWORD: Database password
Django Configuration
DJANGO_SECRET_KEY: Secret key for DjangoDEBUG: Enable/disable debug modeALLOWED_HOSTS: Allowed hosts for DjangoDJANGO_SETTINGS_MODULE: Django settings module pathDB_ENGINE,DB_NAME,DB_USER,DB_PASSWORD,DB_HOST,DB_PORT: Database connection settingsMEDIA_ROOT,STATIC_ROOT: Paths for media and static files
Flask/Socket.IO Configuration
FLASK_DEBUG: Enable/disable Flask debug modeFLASK_SECRET_KEY: Secret key for FlaskSOCKET_CORS_ALLOWED_ORIGINS: CORS configuration for Socket.IO
sprout/
├── backend/ # Django application
│ ├── static/ # Static assets
│ ├── templates/ # HTML templates
│ └── ...
├── flask-sock-connection/ # Flask Socket.IO server
├── .env # Environment variables
├── docker-compose.yml # Docker Compose configuration
├── Dockerfile.django # Dockerfile for Django
└── Dockerfile.flask # Dockerfile for Flask
- Navigate to the home page
- Fill out the meeting creation form:
- Name
- Description
- Start/End time
- Meeting type
- Participant permissions
- Click "Create Meeting"
- Use the provided meeting ID to join
- Access meeting details page to see all information
- Click "Join Meeting" to enter the virtual meeting space
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some 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.
Note: The included .env file contains development credentials. For production:
- Change all passwords and secret keys
- Disable debug mode
- Configure proper CORS settings
- Restrict allowed hosts
Made with ❤️ by the Sprout Team