- create an .env file from the .env.example contents
- Build and start the Docker container:
this will restart the docker compose file and create the entire project including mysql-database & kafka-queue
or if you want to exec into a debug container and run the code
make docker-restart
make docker-dev-restart
-
Generate an API key from Webshare.
-
Copy the contents of
.env.example
to a new.env
file. -
Replace
<api key>
in the.env
file with your API key:PROXY_API_KEY="<api key>"
The Polylith architecture is a modular approach to organizing codebases, aimed at improving maintainability, reducing duplication, and providing better oversight of projects. It is particularly well-suited for managing large, complex applications.
- Reduce Duplication: With many repositories, schemas and functionalities are often replicated, leading to inconsistencies and maintenance challenges. Polylith consolidates shared code into reusable components.
- Improve Oversight: Managing multiple repositories can obscure the overall project structure. Polylith centralizes the architecture, making it easier to navigate and understand.
- Streamline Onboarding: New developers can quickly understand the project structure without needing to navigate numerous repositories.
For an in-depth guide on Polylith architecture, visit the Polylith Documentation.
Below are the essential commands for working with Polylith in your project.
A base serves as the foundation for your architecture, often containing shared logic or configurations.
uv run poly create base --name <base_name>
A component is a reusable, self-contained module that encapsulates specific functionality.
uv run poly create component --name <component_name>
A project is the entry point for your application, built using the base and components.
uv run poly create project --name <project_name>