rideaware-api/README.md
2024-12-20 06:56:09 -06:00

2.1 KiB

RideAware API

Train with Focus. Ride with Awareness

RideAware API is the backend service for the RideAware platform, providing endpoints for user authentication and structured workout management.

RideAware is a comprehensive cycling training platform designed to help riders stay aware of their performance, progress, and goals.

Whether you're building a structured training plan, analyzing ride data, or completing workouts indoors, RideAware keeps you connected to every detail of your ride.

Getting Started

Prerequisites

Ensure you have the following installed on your system:

  • Docker
  • Python 3.10 or later
  • pip

Setting Up the Project

  1. Clone the Repository

    git clone https://github.com/VeloInnovate/rideaware-api.git
    cd rideaware-api
    
  2. Create a Virtual Environment
    It is recommended to use a Python virtual environment to isolate dependencies.

    python3 -m venv .venv
    
  3. Activate the Virtual Environment

    • On Linux/Mac:
      source .venv/bin/activate
      
    • On Windows:
      .venv\Scripts\activate
      
  4. Install Requirements Install the required Python packages using pip:

    pip install -r requirements.txt
    

Configuration

The application uses environment variables for configuration. Create a .env file in the root directory and define the following variables:

DATABASE=<your_database_connection_string>
  • Replace <your_database_connection_string> with the URI of your database (e.g., SQLite, PostgreSQL).

Running with Docker

To run the application in a containerized environment, you can use the provided Dockerfile.

  1. Build the Docker Image:
docker build -t rideaware-api .
  1. Run the Container
docker run -d -p 5000:5000 --env-file .env rideaware-api

The application will be available at http://127.0.0.1:5000.

Running Tests

To be added.

Contributing

Contributions are welcome! Please create a pull request or open an issue for any improvements or bug fixes.

License

This project is licensed under the AGPL-3.0 License.