Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write an ADR on our choices of database structure #42

Closed
k-allagbe opened this issue Oct 11, 2023 · 2 comments
Closed

Write an ADR on our choices of database structure #42

k-allagbe opened this issue Oct 11, 2023 · 2 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@k-allagbe
Copy link
Member

k-allagbe commented Oct 11, 2023

Name: dev-rel-docs/adr/002-database-structure.md

This ADR explains our plan to organize our databases better. You can find all the details in this document . In a nutshell, we're restructuring our databases to work together smoothly as we expand our product range. We'll have a main repository named "ailab-db" and add modules for specific products like "louis," "nachet," or "finesse." This approach offers flexibility and adaptability. The ADR aims to clarify how we're organizing everything and why we're doing it this way.

@k-allagbe k-allagbe added the documentation Improvements or additions to documentation label Oct 11, 2023
@JolanThomassin
Copy link
Contributor

I've discovered some ADR example templates that are available, and I've sorted them by my preferences. I believe the best approach is to extract the best ideas from these templates and blend them together while keeping the content concise and straightforward.

  1. ADR template for business case (like the top level resume)

  2. ADR template Markdown Any Decision Records (MADR) (really like the decision part)

  3. ADR template by Michael Nygard (simple and popular)

  4. ADR template for Alexandrian pattern (simple with context specifics)

  5. ADR template by Jeff Tyree and Art Akerman (more sophisticated)

  6. ADR template using Planguage (more quality assurance oriented)

@JolanThomassin JolanThomassin moved this to Todo in Database Oct 16, 2023
@k-allagbe k-allagbe removed the documentation Improvements or additions to documentation label Oct 16, 2023
@JolanThomassin
Copy link
Contributor

This comment will be moved in the Pull Request when created

While it may not be perfect and might be too much focus on the transition when the document need to be focus on the final state, the structure can resemble the following:

Title:

ADR on our choices of database structure

Status:

Proposed

Evaluation Criteria:

We aim to determine the most effective database structure that allows for seamless integration of multiple products, improves flexibility, maintainability, and fosters collaboration among development teams.

Candidates to Consider:

We have considered various database structure options to accommodate multiple products, including maintaining the existing separate databases and our proposed restructuring approach.

Research and Analysis of Each Candidate:

In our analysis, we thoroughly examined the existing "louis-db" and "nachet-db" structures and assessed the proposed restructuring. We found that the current isolated databases limited adaptability, while the proposed integrated approach promised improved efficiency and collaboration, similar to transitioning from separate drawers to a spacious wardrobe. The proposed changes would streamline maintenance, reduce errors, and support our growing product variety, making them the preferred choice for our database structure.

Does/Doesn't Meet Criteria and Why:

The existing separate database approach doesn't meet our criteria as it leads to duplication, lacks flexibility, and hinders collaboration. The proposed changes meet our criteria as they streamline integration, improve maintainability, and enhance code quality.

Internal Opinions and Feedback:

Waiting for team members opinion about the proposed changes.

External Opinions and Feedback:

Waiting for external opinion about the proposed changes.

How Did You Evaluate the Candidates?

We evaluated the candidates based on the criteria of efficiency, flexibility, maintainability, and collaborative potential. The proposed changes best align with these criteria.

Why Did You Choose the Winner?
We chose the proposed changes because they align with our objective of creating a single, easy-to-maintain database system that can seamlessly integrate multiple products.

What Is Happening Since Then?
The proposed changes are under consideration for implementation, with a focus on developing the "ailab-db" as the core database and creating a modular product integration system.

Knowing What You Know Now, What Would You Advise People to Do Differently?
We would advise others to consider the long-term benefits of restructuring their database systems to accommodate growth and product diversity, even if it requires initial changes and investments.

Recommendation:
We recommend implementing the proposed changes, including renaming the "louis-db" to "ailab-db" and revising the repository structure for seamless product integration. These changes align with our objective and are vital for efficiently managing databases for multiple products, streamlining deployment and maintenance processes, improving code quality, and facilitating collaboration among development teams.

@JolanThomassin JolanThomassin added the documentation Improvements or additions to documentation label Oct 17, 2023
@JolanThomassin JolanThomassin moved this from Todo to In Progress in Database Oct 25, 2023
JolanThomassin pushed a commit that referenced this issue Nov 22, 2023
JolanThomassin pushed a commit that referenced this issue Nov 23, 2023
JolanThomassin pushed a commit that referenced this issue Nov 23, 2023
JolanThomassin pushed a commit that referenced this issue Nov 29, 2023
JolanThomassin pushed a commit that referenced this issue Dec 4, 2023
@github-project-automation github-project-automation bot moved this from In Progress to Done in Database Dec 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
Archived in project
Development

No branches or pull requests

2 participants