No description
Find a file
Cipher Vance 485320737b feat: replace Python Dockerfile with Go multi-stage build
- Convert from Python 3.10 Flask app to Go 1.21 Alpine build
- Add multi-stage Docker build for optimized production image
- Create non-root user for security
- Update health check for new port 8080
- Add comprehensive .dockerignore for Go project
2025-09-18 20:06:37 -05:00
config feat: add database configuration for PostgreSQL 2025-09-18 20:06:36 -05:00
migrations init: first migrations 2025-08-28 20:31:48 -05:00
models feat: add Go models for User and UserProfile 2025-09-18 20:06:36 -05:00
routes feat: add authentication routes with Gin handlers 2025-09-18 20:06:37 -05:00
scripts feat(db): added migration 2025-09-09 08:33:04 -05:00
services feat: add user service layer with business logic 2025-09-18 20:06:36 -05:00
.dockerignore feat: replace Python Dockerfile with Go multi-stage build 2025-09-18 20:06:37 -05:00
.gitignore feat: updated gitignore for migrations 2025-08-28 20:30:58 -05:00
Dockerfile feat: replace Python Dockerfile with Go multi-stage build 2025-09-18 20:06:37 -05:00
go.mod feat: initialize Go module and add main application entry point 2025-09-18 20:06:36 -05:00
go.sum feat: initialize Go module and add main application entry point 2025-09-18 20:06:36 -05:00
LICENSE Create LICENSE 2024-12-17 09:57:34 -06:00
main.go feat: initialize Go module and add main application entry point 2025-09-18 20:06:36 -05:00
README.md (docs): working on readme 2024-12-20 06:56:09 -06:00
requirements.txt added flask-migrate 2025-08-28 20:31:08 -05:00
server.py add flask migrate and flask.cli as well as got rid of db create all 2025-08-28 20:31:33 -05:00
TODO.md docs(todo): merge RideAware feature blurbs into TODO and fill gaps 2025-08-26 10:07:58 -05:00

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.