API for managing payment calendars and their respective payment calendar items
Design
This API includes the following design decisions:
- The API is designed to be RESTful, using the HTTP protocol for communication and JSON for data serialization.
- The API is designed to be resource oriented, with each resource being represented by a different endpoint.
- The API is designed to be stateless, with each request containing all the information necessary to be processed by the server.
- The API is designed to be secure, with each request being authenticated and authorized.
- The API is designed to be documented, with each endpoint being documented and each response being documented.
- The API is designed to be versioned, with each version being represented by a different OpenAPI specification file.
- The API is designed to be rich, with each endpoint supporting a wide range of functionality.
Decisions
This API includes the following decisions:
- Payment calendars are used to define the payment schedule for a given offer.
- Payment calendars are created by the system when an offer is accepted.
- Payment calendars are read by the system when an offer is read.
- Payment calendars are updated by the system when an offer is updated.
- Payment calendars are deleted by the system when an offer is deleted.
- Payment calendars are not created, read, updated, or deleted by the user.
"""
Requirements
Python >= 3.11
Installation & Usage
To run the server, please execute the following from the root directory:
uvicorn main:app --host 0.0.0.0 --port 8000
Running with Docker
To run the server on a Docker container, please execute the following from the root directory:
docker-compose up --build
Tests
To run the tests:
poetry shell
pytest tests/schemas
TODO
- Git init and install pre-commit git hooks on docker testing target.
- Figure out how to ignore .DS_Store from docker copy.
- Add
dependabot, testing, deploy and latest changes workflows.
Release Notes
Latest Changes
Features