The Architecture of Pinflow
Pinflow is a full-stack application that uses a microservice architecture to provide a scalable and maintainable solution for the application.
The components of Pinflow
Backends written by me
- The Next.js CORE (opens in a new tab) (closed source) - The core of the platform is a Next.js application that serves as the main entry point for the application. It is responsible for handling the user interface and for providing an interface for the microservices to interact with the main application.
- Pinflow ORBIT (opens in a new tab) (open source) - The microservice written in Go that works as a real-time in-memory database for storing the live location data of couriers while they deliver an order.
Other self-hosted services
- PostgreSQL - The main database used by the application is a PostgreSQL database that stores all the data for the application.
- Flagsmith (opens in a new tab) - A feature flagging service that allows me to control the features of the application without deploying new code.
Third-party services
- Stripe - The payment provider used by the application to handle payments.
- Mapbox - The mapping service used by the application to display maps and geolocation data.
Service Interfaces
A very important part of the application are the service interfaces. Services are the core of the application, they are responsible for interacting with the database and for providing an interface for the microservices to interact with the main application.
You can learn more about how services work in the Services section.