Skip to content

Latest commit

 

History

History
51 lines (49 loc) · 2.3 KB

README.md

File metadata and controls

51 lines (49 loc) · 2.3 KB

1. Project Scope and Goal

  • Problem to solve: Enable users to generate dynamic chemical labels in accordance to GHS rulings.
  • Minimum viable product (MVP):
  • The website must contain a search bar which works with chemical common names.
  • Generate a PNG or PDF of the chemical searched.
  • Enable the user to download the labels.
  • Future features:
  • A more robust search bar which lets users search chemicals by structure or ID
  • Enable editing the labels generated
  • Enable creation of your own labels
  • Enable addition of company logos
  • Addition of more templates with different dimentions

2. Project breakdown

  • Tasks:
    • Frontend: TODO
  • Task manager: Github projects? TODO

3. Technology Stack

  • Languages & Frameworks:
  • Frontend: React
  • Backend: Python + Flask
  • Database: SQLite
  • Tools:
  • Version Control: Git
  • Text editor: VSCode or VIM (i would need to learn VIM)
  • Testing: Frontend: Jest, Backend: Pytest
  • Label gen: ReportLab, Pillow (should output a .jpg or .pdf file of at least 300 dpi)

4. Version Control System

  • Git repository
  • Regular commits: Commit changes frequently with meaninful messages to track progress and facilitate debugging

5. Development Environment

  • Local environment: venv
  • Project structure: How would i structure the project filesTODO

6. Project Plan

  • Document my approach: I should write down the high-level steps and the tools i'll be using TODO
  • Deadline/milestones: Breakdown of my project into phases, rough deadlines to keep on track TODO
  • Feature prioritization:
  • 1.- Homepage structure
  • 2.- Search bar
  • 3.- HTML label code generation
  • 4.- Enable label download

7. Start coding and testing

  • Start small: Implement core features first. Work in iterations, adding functionality step-by-step
  • Test frequently

8. Seek feedback

9. Document my code

  • Code comments: Make sure my code is readable and well-commented.
  • README: Write a README file with instructions on how to run the project, the tech stack and any relevant information.

10. Iterations and improvements

  • After getting the MVP, refine the project by adding new features or improving performance based on feedback.