Shortlink service (Microservice example) ⭐️ Star the repo if you like it!
ShortLink is an open-source educational project that provides a pretty user interface and respects GDPR.
The goal of the project is to demonstrate the practical application of microservices architecture.
The project covers the entire process - from identifying Bounded Contexts to implementing microservices using cutting-edge technologies and best practices.
Please star ⭐ the repo if you want us to continue developing and improving ShortLink! 😀
[!TIP]
Our project follows Domain-Driven Design (DDD) principles, organizing code into distinct domains for clarity and easier updates.
Bounded Context | Description | Type subdomain | Docs |
---|---|---|---|
API Gateway | Gateway for all services | Supporting | docs |
Auth Boundary | Auth services | Generic | docs |
Billing Boundary | Payment services | Generic | docs |
Chat Boundary | Chat services | Supporting | docs |
Delivery Boundary | Delivery services | Supporting | docs |
DS Boundary | Data Science services | Supporting | docs |
Extension Boundary | Extension services | Supporting | docs |
Link Boundary | Link services | Core | docs |
Marketing Boundary | Marketing services | Supporting | docs |
Notification Boundary | Notification services | Generic | docs |
Platform Boundary | Platform services | Supporting | docs |
Search Boundary | Search services | Supporting | docs |
Shop Boundary | Shop services | Supporting | docs |
ShortDB Boundary | ShortDB services | Supporting | docs |
UI Boundary | UI services | Supporting | docs |
Contributing
[!IMPORTANT] An architecture decision record (ADR) is a document that captures an important architecture decision made along with its context and consequences.
Decisions:
Also, each boundary context and service has its own ADR. You can find them in the relevant sections.
[!WARNING]
This project includes dependencies licensed under the GNU Lesser General Public License (LGPL). Users must comply with LGPL terms when using or modifying these dependencies. For detailed information on each LGPL library used in this project, please refer to the respective license documentation included with each library. For comprehensive license compliance information, including dependencies and their licenses, you can read more details in our FOSSA report.