Skip to content

obadelej/mvp-track-clean

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MVP Track and Field Management System

A comprehensive web application for managing track and field athletes, teams, events, meets, and performances.

🏃‍♂️ Features

  • Athlete Management: Add, edit, and manage athlete profiles with photos
  • Team Management: Organize athletes into teams
  • Event Management: Track different track and field events
  • Meet Management: Schedule and manage track meets
  • Performance Tracking: Record and analyze athlete performances
  • User Authentication: Secure login system with role-based access
  • Dashboard: Overview of key metrics and recent activities

🎨 Design

  • Color Scheme: Red, Black, and Gold theme
  • Responsive Design: Works on desktop and mobile devices
  • Modern UI: Clean and intuitive user interface

🛠️ Technology Stack

  • Backend: Flask (Python)
  • Database: PostgreSQL (SQLAlchemy ORM)
  • Frontend: HTML, CSS, JavaScript
  • Authentication: Flask-Login
  • Deployment: Heroku

📋 Prerequisites

  • Python 3.12+
  • PostgreSQL
  • Git

🚀 Installation

Local Development

  1. Clone the repository

    git clone https://github.com/YOUR_USERNAME/mvp-track-app.git
    cd mvp-track-app
  2. Create virtual environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Set up environment variables Create a .env file:

    FLASK_ENV=development
    SECRET_KEY=your-secret-key-here
    DATABASE_URL=postgresql://username:password@localhost:5432/mvp_track_db
  5. Initialize database

    python setup_database.py
  6. Run the application

    python app.py
  7. Access the application Open http://localhost:5000 in your browser

🌐 Deployment

Heroku Deployment

  1. Install Heroku CLI

    # Download from https://devcenter.heroku.com/articles/heroku-cli
  2. Login to Heroku

    heroku login
  3. Deploy using the automated script

    .\deploy_to_heroku.ps1
  4. Manual deployment

    heroku create your-app-name
    heroku addons:create heroku-postgresql:basic
    heroku config:set FLASK_ENV=production
    heroku config:set SECRET_KEY=your-secret-key
    git push heroku main
    heroku run python -c "from app import app, db; app.app_context().push(); db.create_all()"
    heroku open

👥 User Roles

  • Admin: Full access to all features
  • Coach: Can view athletes and performances
  • Athlete: Can view their own profile and performances

📊 Database Schema

Core Tables

  • Users: Authentication and user management
  • Athletes: Athlete profiles and information
  • Teams: Team information
  • Events: Track and field events
  • Meets: Competition schedules
  • Performances: Athlete performance records

Related Tables

  • AthleteEvents: Athlete-event relationships
  • AthleteBio: Athlete biographies
  • AthletePB: Personal best records

🔧 Configuration

Environment Variables

  • FLASK_ENV: Application environment (development/production)
  • SECRET_KEY: Flask secret key for sessions
  • DATABASE_URL: PostgreSQL connection string

Database Configuration

The application automatically handles Heroku's PostgreSQL URL format and local development databases.

📁 Project Structure

mvp-track-app/
├── app.py                 # Main Flask application
├── config.py             # Configuration settings
├── requirements.txt      # Python dependencies
├── Procfile             # Heroku deployment configuration
├── runtime.txt          # Python version specification
├── setup_database.py    # Database initialization script
├── static/              # Static files (CSS, images)
│   ├── css/
│   └── athlete_photos/
├── templates/           # HTML templates
├── venv/               # Virtual environment (not in repo)
└── README.md           # This file

🤝 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.

🆘 Support

For support and questions:

  • Create an issue on GitHub
  • Contact the development team

🔄 Version History

  • v1.0.0: Initial release with core functionality
  • v1.1.0: Added Heroku deployment support
  • v1.2.0: Enhanced UI and performance tracking

🙏 Acknowledgments

  • Flask community for the excellent web framework
  • Heroku for hosting platform
  • All contributors and testers

Made with ❤️ for MVP Track and Field

About

MVP Track App - Clean Version

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors