|
|
||
|---|---|---|
| migrations | ||
| models | ||
| routes/user_auth | ||
| scripts | ||
| services/UserService | ||
| .dockerignore | ||
| .gitignore | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
| server.py | ||
| TODO.md | ||
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
-
Clone the Repository
git clone https://github.com/VeloInnovate/rideaware-api.git cd rideaware-api -
Create a Virtual Environment
It is recommended to use a Python virtual environment to isolate dependencies.python3 -m venv .venv -
Activate the Virtual Environment
- On Linux/Mac:
source .venv/bin/activate - On Windows:
.venv\Scripts\activate
- On Linux/Mac:
-
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.
- Build the Docker Image:
docker build -t rideaware-api .
- 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.