Tatami-Stop is an API for hostels providing essential functionalities like user management, room booking, and ordering room services.
- User Management: Create, read, update, and delete users.
- Room Booking: Book rooms and manage reservations.
- Room Services: Order various services to be delivered to rooms.
These instructions will help you set up and run the Tatami-Stop API on your local machine for development and testing purposes.
- Docker
- Docker Compose
- FastAPI: FastAPI is used as the web framework for building APIs with Python 3.7+ based on standard Python type hints.
- SQLAlchemy: SQLAlchemy is utilized as the ORM (Object-Relational Mapping) tool to interact with the SQLite database.
- SQLite: SQLite is employed as the relational database management system for storing application data.
- Ruff: Ruff is used as a linter and formatter for maintaining code quality and style consistency.
- Just: Just is used as a task runner for automating common development tasks and workflows.
-
Clone the repository:
git clone https://github.com/OlegBW/tatami-stop.git cd tatami-stop
-
Build and start the Docker containers:
docker-compose up -d
-
The API will be available at
http://localhost:5500
.
The available endpoints and their descriptions can be accessed via the Swagger UI documentation at http://localhost:5500/docs
.
- Swagger UI:
http://localhost:5500/docs
The following environment variables can be set to configure the application:
SECRET_KEY
: Secret key for JWT authentication.ALGORITHM
: Algorithm used for JWT.ACCESS_TOKEN_EXPIRE_MINUTES
: Expiration time for access tokens in minutes.
We welcome contributions to improve Tatami-Stop. Please fork the repository and submit a pull request.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
- Inspired by the need for efficient hostel management systems.