BerrySend Platform API is made with Python, FastAPI Framework, and MySQL persistence with AlchemySQL. It also illustrates open-api documentation configuration and integration with Swagger UI.
This application centers on the following feature:
- Generation of the best route for the export of blueberries.
For the development of the BerrySend Platform API, the following technologies and tools were used:
- Python: The primary programming language used for developing the backend of the application.
- FastAPI: The web framework used to build the API, providing high performance and ease of use.
- MySQL: A relational database used for storing inventory data, providing flexibility and scalability.
- Swagger UI: For API documentation and testing, allowing developers to easily explore and interact with the API endpoints.
- OpenAPI: For defining the API specifications, ensuring clear and consistent communication between the frontend and backend.
- Domain-Driven Design (DDD): An architectural approach used to structure the application around the core business domain, enhancing maintainability and scalability.
- SQLAlchemy: A Python ORM used to interact with the database.
- AlembicSQL: An SQLAlchemy extension used to generate database migrations.
Berrysend Platform API includes its own documentation and it's available in the docs folder. It includes the following documentation:
- User Stories: related user stories to backend development. Is available in docs/user_stories.
- C4 Model Software Architecture Diagram: illustrating the architecture of the application. Is available in docs/software_architecture.dsl.
- Class Diagram: illustrating the main classes and relationships in the application. Is available in docs/class_diagram.puml.