# README
Orchestra Rehearsal Scheduler API
Welcome to the Orchestra Rehearsal Scheduler API! This project is designed to help orchestras manage their rehearsal schedules efficiently. The API provides endpoints for managing users, sections, instruments, and more.
Table of Contents
Getting Started
Prerequisites
Before you begin, ensure you have the following installed on your machine:
Installation
- Create a
.env
file in the root directory and add the following environment variables:
PORT=8080
DATABASE_HOST=db
DATABASE_USER=postgres
DATABASE_PASS=secret
DATABASE_NAME=scheduler
DATABASE_PORT=5432
Running the Application
- Start the application using Docker Compose:
docker-compose up --build
- The API server will be running on
http://localhost:8080
.
Configuration
The application can be configured using environment variables. The following variables are available:
PORT
: The port on which the API server will run (default: 8080).DATABASE_HOST
: The hostname of the PostgreSQL database (default: db).DATABASE_USER
: The username for the PostgreSQL database (default: postgres).DATABASE_PASS
: The password for the PostgreSQL database (default: secret).DATABASE_NAME
: The name of the PostgreSQL database (default: scheduler).DATABASE_PORT
: The port on which the PostgreSQL database is running (default: 5432).
Database Migrations
Database migrations are handled using Goose. Goose is available inside the app
container. To run migrations, follow these steps:
- Ensure the
app
anddb
containers are running:
docker-compose up --build
- Access the
app
container:
docker-compose exec app bash
- Run the migrations:
goose up
This will apply all pending migrations to the database.
Contributing
We welcome contributions to the project! To contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes and commit them with a clear message.
- Push your changes to your fork.
- Create a pull request to the main repository.
License
This project is licensed under the MIT License. See the LICENSE file for details.
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Package router provides a simple and flexible routing mechanism for HTTP servers.
No description provided by the author
No description provided by the author
No description provided by the author