Sign inSign up

ejdiniz/paycalendar-specs

By ejdiniz

•Updated about 2 years ago

Image
0

1.8K

ejdiniz/paycalendar-specs repository overview

⁠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

Tag summary

Content type

Image

Digest

sha256:b99192919…

Size

59 MB

Last updated

about 2 years ago

docker pull ejdiniz/paycalendar-specs