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

Improve SQLAlchemy Usage and Documentation for New Developers #778

Open
8 tasks
Tracked by #769 ...
lasryariel opened this issue Aug 30, 2024 · 0 comments
Open
8 tasks
Tracked by #769 ...

Improve SQLAlchemy Usage and Documentation for New Developers #778

lasryariel opened this issue Aug 30, 2024 · 0 comments
Labels
Complexity: Large Issue requires some research and solution is only loosely defined. documentation Improvements or additions to documentation Feature: Infrastructure Changes to site technical Architecture points: 1 Can be done in 4-6 hours Ready for: Dev Lead Issues which need review by a Dev Lead before it is ready for the Prioritized Backlog Role: Back End

Comments

@lasryariel
Copy link
Member

lasryariel commented Aug 30, 2024

Overview

Our current use of SQLAlchemy as the connection library has been identified as a potential burden for new developers, particularly in understanding how to manage database connections, update models, and modify API contracts. To alleviate these challenges, we need to improve our documentation and standardize how SQLAlchemy is used within the project. This will help new developers more easily update API contracts and interact with the database.

Action Items

  1. Document SQLAlchemy Setup and Usage

    • Create comprehensive documentation on how SQLAlchemy is set up and used in the project.
    • Include detailed examples on common tasks such as:
      • Creating and updating models.
      • Managing sessions and transactions.
      • Handling migrations and schema changes.
  2. Document API Contract Updates

    • Provide step-by-step instructions on how to update API contracts when modifying database models or queries.
    • Include examples of typical changes, such as adding new fields to a model or changing query logic, and how these should be reflected in the API.
  3. Standardize SQLAlchemy Practices

    • Review the current usage of SQLAlchemy across the codebase to identify inconsistencies or areas for improvement.
    • Standardize the approach to session management, model definition, and query writing.
    • Document these standards to ensure consistency and ease of understanding for new developers.
  4. Documentation for Onboarding New Developers

    • Create a SQLAlchemy onboarding guide specifically designed for new developers, highlighting key concepts and practices.

Resources/Instructions

A well-documented and standardized approach to using SQLAlchemy, making it easier for new developers to understand and contribute to the project, particularly when updating API contracts or working with the database.

@lasryariel lasryariel added documentation Improvements or additions to documentation Role: Back End points: 1 Can be done in 4-6 hours Feature: Infrastructure Changes to site technical Architecture Complexity: Large Issue requires some research and solution is only loosely defined. labels Aug 30, 2024
@github-project-automation github-project-automation bot moved this to New Issue Approval in P: HUU: Project Board Aug 30, 2024
@lasryariel lasryariel added the Ready for: Dev Lead Issues which need review by a Dev Lead before it is ready for the Prioritized Backlog label Aug 30, 2024
@lola3736 lola3736 removed the draft label Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Complexity: Large Issue requires some research and solution is only loosely defined. documentation Improvements or additions to documentation Feature: Infrastructure Changes to site technical Architecture points: 1 Can be done in 4-6 hours Ready for: Dev Lead Issues which need review by a Dev Lead before it is ready for the Prioritized Backlog Role: Back End
Projects
Status: New Issue Approval
Development

No branches or pull requests

2 participants