Application Layers
For most web application features, the implementation is spread across the following types of packages or folders:
db
: Databaseintegration
: External API integrationsservice
: API Servicer or Background Servicespec
: OpenAPI Specrequests
: Tanstack-powered Queries and Mutationspages
: Vue 3 Page Components
Developing Within Them
Any project that involves adding a new feature will likely have to make changes to areas of the codebase in most of these categories. When building them, focus first on adding to each category separately and then integrating them together. For example:
- Add to the API spec, generate it
- Implement a stub endpoint, test it
- Implement an integration function
- Implement a database query
- Finally, use the integration function and/or the database query in the endpoint
Same with frontend:
- Add a request function, test it
- Add a static component, test it
- Integrate the request function and the component
- Add the component to the page component