This is the AI Models Training portion of our University Graduation project. Built with Flask, YOLOv8 and Weaviate.
- Technologies Used
- Required Dependencies
- Installation
- Before You Run
- Development
- Features
- Suggested VS Code Extensions
- Contributors
Pythonv3.11 or later: Download PythonPipDocker
Make sure to have these installed before proceeding with the project setup.
Follow these steps to set up and run the application locally.
-
Clone the repository:
git clone https://github.com/YGOhappy123/Saigon-Steps-AI-Training.git
-
Navigate to the project directory:
cd Saigon-Steps-AI-Training -
Install dependencies:
pip install -r requirements.txt
Note: You might consider running this project on a python virtual environment to prevent dependencies conflicts with local environment.
Before running the project, make sure to set up the environment variables:
-
Create a
.envfile:In the root directory of your project (at the same level as
.env.example), create a.envfile. -
Populate the environment variables:
Copy the variables from
.env.exampleinto.envand replace the placeholder values with your actual configuration. -
For collaborators:
If you are a collaborator on this project, please contact the project owner to obtain the values for the environment variables.
To start the development server, use:
python src/flask_server.pyNote: You have to have the Docker containers running first. Either using Docker Desktop or using the following command in a separate terminal
docker compose up -dThis will start the Flask server
You can view the app by visiting http://localhost:8000 in your browser.
You can also replace localhost with your device's IPv4 Address, which can be found by entering the following command in the terminal and look for Wireless LAN adapter Wi-Fi > IPv4 Address:
ipconfigRequirement: All devices must be connected to the same network.
Follow these steps to ensure that your firewall allows incoming connections on port 8000.
- Open
Windows Defender Firewall. - Click on
Advanced settings. - Select
Inbound Rulesand thenNew Rule. - Choose
Port, clickNext. - Select
TCPand enter8000in the specific local ports box. - Allow the connection and complete the wizard.
Now you can access the app using other devices by visiting http://<IPv4 Adddess>:8000
- RESTful API 🛠 Exposes endpoints following REST principles for ease of use and scalability.
- Database Integration 💾 Uses Weaviate vector database for data persistence.
- Cross-Platform 🌐 Runs on any operating system that supports Python.
| Extension | Publisher | Required? | Supported features |
|---|---|---|---|
| Prettier - Code formatter | Prettier | Yes | Code formatting |
| Black Formatter | Microsoft | Yes | Code formatting |
| Python | Microsoft | Yes | Python runtime VS Code |
| Docker DX | Docker | No | Code formatting and autocomplete |
| Code Spell Checker | Street Side Software | No | Spelling checker for source code |
| Multiple cursor case preserve | Cardinal90 | No | Preserves case when editing with multiple cursors |
| GitLens | GitKraken | No | Enhanced Git integration and code history tracking |
Thanks to the following people for contributing to this project ✨:
|
YGOhappy123 |
hnninh21 |