A modern, Flask-based ticketing system designed as a lightweight, self-hosted alternative to JIRA for internal software development tracking and planning. Built with PostgreSQL backend and Tailwind CSS UI.
Ticket Management š«
Project Organization š
User Management š
Reporting š
Clone the repository:
git clone https://github.com/lecharles/internal-ticketing-system-vibe-alternative.git
cd internal-ticketing-system-vibe-alternative
Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
Install dependencies:
pip install -r requirements.txt
Set up environment variables:
Create a .env
file in the root directory with:
FLASK_APP=app
FLASK_ENV=development
DATABASE_URL=postgresql://username:password@localhost/internal_ticketing_dev
SECRET_KEY=your-secret-key
Initialize the database:
flask db upgrade
Start the development server:
flask run
.
āāā app/
ā āāā __init__.py
ā āāā auth/ # Authentication views and forms
ā āāā main/ # Core application views
ā āāā tickets/ # Ticket management
ā āāā models/ # Database models
ā āāā static/ # Static files (CSS, JS)
ā āāā templates/ # Jinja2 templates
āāā migrations/ # Database migrations
āāā tests/ # Test suite
āāā config.py # Configuration
āāā requirements.txt # Production dependencies
āāā README.md
Install development dependencies:
pip install -r requirements-dev.txt
Set up pre-commit hooks:
pre-commit install
Create a new branch for your feature:
git checkout -b feature/your-feature-name
Make your changes and commit:
git add .
git commit -m "Add your feature description"
Push to your branch:
git push origin feature/your-feature-name
Run the test suite with:
python -m pytest
For coverage report:
pytest --cov=app tests/
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue in the GitHub repository.
Built with ā¤ļø using Flask and modern web technologies.