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

core: DB model and CRUD functionality for projects #8

Closed
pingSubhajit opened this issue Oct 21, 2024 — with Linear · 2 comments
Closed

core: DB model and CRUD functionality for projects #8

pingSubhajit opened this issue Oct 21, 2024 — with Linear · 2 comments
Assignees
Labels

Comments

Copy link
Owner

pingSubhajit commented Oct 21, 2024

This issue focuses on setting up the database model and defining the CRUD operations (Create, Read, Update, Delete) for projects within the application.

Success Criteria:

A database model for projects is defined, including the necessary fields to store project information.

  • CRUD operations for projects are implemented, allowing users to create, read, update, and delete their project entries.

Acceptance Criteria:

  • Database Model:
    • Project Name: (required) Unique identifier for the project.
    • Description: (optional) A brief description of the project.
    • Technologies: (optional) Array of strings representing technologies used.
    • Role: (required) User's role in the project.
    • Accomplishments: (optional) Array of strings representing key achievements or contributions.
    • Links: (optional) Array of strings representing links to the project (e.g., GitHub repository, website).
    • UserId: (required) Foreign key referencing the user who owns the project.
  • CRUD Operations:
    • Create: Allows users to create new project entries, providing all required information and optionally including other fields.
    • Read: Retrieves a list of projects for a specific user.
    • Update: Allows users to modify existing project entries, updating any fields as needed.
    • Delete: Enables users to remove project entries from their profile.
  • Data Validation:
    • Validate user input to ensure data integrity and prevent invalid or malicious entries.
    • Error handling is implemented to handle invalid or missing data gracefully.
  • Security:
    • Implement appropriate security measures to protect project data from unauthorized access.
    • Ensure that users can only access and modify their own project entries.

Additional Notes:

  • Implement appropriate authorization and authentication mechanisms to control user access to project data.
  • Document the database model and CRUD operations for future development and maintenance.

This implementation will lay the foundation for managing project data within the application, providing users with a robust system for creating, updating, and deleting their project entries.

@pingSubhajit pingSubhajit self-assigned this Oct 21, 2024
Copy link

linear bot commented Oct 21, 2024

LET-18 core: DB model and CRUD functionality for projects

This issue focuses on setting up the database model and defining the CRUD operations (Create, Read, Update, Delete) for projects within the application.

Success Criteria:

  • A database model for projects is defined, including the necessary fields to store project information.
  • CRUD operations for projects are implemented, allowing users to create, read, update, and delete their project entries.

Acceptance Criteria:

  • Database Model:
    • Project Name: (required) Unique identifier for the project.
    • Description: (optional) A brief description of the project.
    • Technologies: (optional) Array of strings representing technologies used.
    • Role: (required) User's role in the project.
    • Accomplishments: (optional) Array of strings representing key achievements or contributions.
    • Links: (optional) Array of strings representing links to the project (e.g., GitHub repository, website).
    • UserId: (required) Foreign key referencing the user who owns the project.
  • CRUD Operations:
    • Create: Allows users to create new project entries, providing all required information and optionally including other fields.
    • Read: Retrieves a list of projects for a specific user.
    • Update: Allows users to modify existing project entries, updating any fields as needed.
    • Delete: Enables users to remove project entries from their profile.
  • Data Validation:
    • Validate user input to ensure data integrity and prevent invalid or malicious entries.
    • Error handling is implemented to handle invalid or missing data gracefully.
  • Security:
    • Implement appropriate security measures to protect project data from unauthorized access.
    • Ensure that users can only access and modify their own project entries.

Additional Notes:

  • Implement appropriate authorization and authentication mechanisms to control user access to project data.
  • Document the database model and CRUD operations for future development and maintenance.

This implementation will lay the foundation for managing project data within the application, providing users with a robust system for creating, updating, and deleting their project entries.

@pingSubhajit pingSubhajit added this to the Version 0.1-alpha milestone Oct 22, 2024
@pingSubhajit pingSubhajit added the Logic label Oct 26, 2024 — with Linear
@pingSubhajit pingSubhajit linked a pull request Dec 16, 2024 that will close this issue
Copy link
Owner Author

In the light of the new migration strategy to a dedicated backend service, see LET-38, this issue has been cancelled

@pingSubhajit pingSubhajit closed this as not planned Won't fix, can't repro, duplicate, stale Jan 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants