| # Progress | |
| ## Setup and organizing | |
| 1. Initialize the `uv` with `uv init` command | |
| 2. Install the flask by `uv pip install flask` command | |
| 3. Created the `app` directory | |
| 4. Created the `app/__init__.py` for adding the backend code inside the `app` directory | |
| 5. Created the `app/routes.py` for adding the view functions | |
| 6. Exported the `FLASK_APP=main.py` to the environment | |
| 7. Tested the execution of the flask app by `flask run` command | |
| 8. Installed the python dot env for saving the environment variables, helpful for using environment variable and to install use `uv pip install python-dotenv` | |
| 9. Created the `.flaskenv` for storing the environmental variables for this application | |
| 10. Created a directory named `app/templates` | |
| 11. Inside the `app/templates/` directory, created the `index.html` | |
| 12. By using the `render_template()` function the `html` code is rendered in the webpage. | |
| 13. Can able to add `title` arg in the `render_template()` as it is optional and `html` contains the `{% if title %}` and `{% else %}` and `{% endif %}` for conditional rendering. | |
| 14. Created a base template in `base.html` that acts as `layout.jsx` in react based applications. | |
| 15. Updated the `app/templates/index.html` with the block named `content` | |
| 16. To make the active reload of the flask app, run with `flask run --debug` command | |
| 17. Created `app/static` folder for storing the `css` files | |
| 18. Splitted the `base.html` into multiple files like `main.html`, `navbar.html` and `footer.html` | |
| ## Backend logic implementation | |
| 1. Added the file upload logic to the `routes.py` and updated the `main.html` for previewing the file | |
| 2. Added the cards in the main html file for uploading the image, previewing the image and getting the result image. | |
| 3. Downloaded the SAM 2 model from the sam2 github repository | |
| 4. Inference code is added to get the final result | |
| 5. For better user experience overlay image is added in the `preview_image()` function |