Thank you for your interest in contributing to EventStack! This document provides guidelines and instructions for contributing to this project.
This project follows our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
EventStack is a platform for managing, organizing, and stacking events efficiently. It's built with Python using the Tornado web framework and SQLite for data storage. The application features:
- User authentication via GitHub
- Event creation and management
- Time slot voting system
- Real-time updates via WebSockets
- Responsive UI
-
Fork and Clone the Repository
git clone https://github.com/abhirajadhikary06/eventstack.git cd eventstack -
Set Up a Virtual Environment
python -m venv venv # On Windows venv\Scripts\activate # On macOS/Linux source venv/bin/activate
-
Install Dependencies
pip install -r requirements.txt
-
Environment Variables
Create a
.envfile in the root directory with the following variables:GITHUB_CLIENT_ID=your_github_client_id GITHUB_CLIENT_SECRET=your_github_client_secret COOKIE_SECRET=your_secure_cookie_secret -
Run the Application
python main.py
The application will be available at http://localhost:5000
Before submitting a bug report:
- Check the issue tracker to see if the bug has already been reported
- If not, create a new issue with the "bug" label
- Include detailed steps to reproduce the bug
- Include screenshots if applicable
- Describe the expected behavior and what actually happened
- Include your environment details (OS, browser, etc.)
For feature requests:
- Check the issue tracker to see if the enhancement has already been suggested
- If not, create a new issue with the "enhancement" label
- Clearly describe the feature and its benefits
- If possible, outline how the feature might be implemented
- Create a new branch from
mainfor your changes - Make your changes following our code style guidelines
- Add or update tests as necessary
- Update documentation as needed
- Submit a pull request to the
mainbranch - In your PR description, reference any related issues using keywords like "Fixes #123" or "Closes #456"
main: The primary branch containing stable code- Feature branches: Create from
mainusing the naming conventionfeature/your-feature-name - Bug fix branches: Create from
mainusing the naming conventionfix/issue-description
Follow these guidelines for commit messages:
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests after the first line
Example:
Add event filtering by date range
Implements the ability to filter events by start and end dates.
Closes #123
- Follow PEP 8 style guidelines for Python code
- Use 4 spaces for indentation (not tabs)
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions small and focused on a single task
We encourage writing tests for new features and bug fixes. To run tests:
# Future test command will be added herePlease update documentation when adding or modifying features:
- Update README.md if necessary
- Add inline comments for complex code
- Update function docstrings
- If adding new API endpoints, document them appropriately
Thank you for contributing to EventStack! Your efforts help make this project better for everyone.