This PR introduces several improvements to the project, focusing on structure, cleanup, and CI/CD enhancements for local development. No code changes to main logic were made.
Note that some changes were made to Dockerfiles of frontend and backend, i.e. improved security of docker image and poetry-based deps management. These changes might affect current process of deploying to production. I have no means of testing production deployment of frontend and backend, but i have tested and confirm that new docker images of frontend and backend are valid. I will take full responsibility in ensuring that deployment to production works.
Changes
Project Structure:
Moved frontend-related files to the frontend/ directory and removed redundant files.
This should not affect the deployment to production because i did not change the underlying codebase
Separating frontend and backend directories improves project organization, allowing independent development and easier maintenance of each codebase.
Added additional entries to .gitignore
Removed __pycache__/ and .ipynb_checkpoints/ directories.
Archived unused files for future reference.
all dependencies are now managed via poetry, w/ dev dependencies separated from main deps so as to reduce bloat in docker image
frontend/ and backend/ directories now have their own set of dependencies, i.e. backend/pyproject.toml and frontend/pyproject.toml. This is for the sake of improved environment isolation, and to avoid deps conflict issues.
CI/CD:
Added Docker Compose configuration to deploy both frontend and backend together.
use docker compose up --build to deploy them together
Documentation:
Updated deployment instructions for local development.
TODOs:
[x] refactor dependencies to use poetry, add instructions to set up virtual env
[x] clean up dependencies in backup, i.e. libraries should have versions
Context
These changes aim to improve project maintainability and streamline the development workflow by organizing the project structure and enhancing the CI/CD process.
Testing
docker compose successfully ran in local environment
Description
This PR introduces several improvements to the project, focusing on structure, cleanup, and CI/CD enhancements for local development. No code changes to main logic were made.
Note that some changes were made to Dockerfiles of frontend and backend, i.e. improved security of docker image and poetry-based deps management. These changes might affect current process of deploying to production. I have no means of testing production deployment of frontend and backend, but i have tested and confirm that new docker images of frontend and backend are valid. I will take full responsibility in ensuring that deployment to production works.
Changes
Project Structure:
frontend/
directory and removed redundant files..gitignore
__pycache__/
and.ipynb_checkpoints/
directories.frontend/
andbackend/
directories now have their own set of dependencies, i.e.backend/pyproject.toml
andfrontend/pyproject.toml
. This is for the sake of improved environment isolation, and to avoid deps conflict issues.CI/CD:
docker compose up --build
to deploy them togetherDocumentation:
TODOs:
Context
These changes aim to improve project maintainability and streamline the development workflow by organizing the project structure and enhancing the CI/CD process.
Testing