Modern cloud architecture for hardware production
- Highly flexible database architecture capable of storing all of your data required for in-series production of any hardware
- Ability to store testing data with specifications
- Coming Soon: Easy to access REST API, giving you the ability to develop custom apps that can interface with the database
- Coming Soon: Ability to store images and documents and link data to them
- Coming Soon: View live data of your production line anywhere with websockets
Full documentation of this prject can now be found on our new documentation page!
After cloning the repo, run the following commands to set up the virtual environment and install the dependencies:
pyenv install 3.11.7
poetry config virtualenvs.in-project true
cd <path-to-odyssey-folder>
poetry install
Run the following commands to create a new docker container with Postgres:
docker run --name odyssey -e POSTGRES_PASSWORD=odysseypassword -d -p 5432:5432 postgres
You can then perform the migrations in your database:
python manage.py makemigrations
python manage.py migrate
By default, we have included some seed data to help you get started. This data includes unit types, and over 90 physical units with their conversion formulas. Ensure that your docker container is running, then enter the following commands:
cd <path-to-odyssey-folder>
python manage.py loaddata values_and_units/fixtures/unit_types.json # Load unit types
python manage.py loaddata values_and_units/fixtures/units.json # Load units
You can start the service by running:
python manage.py runserver
After running the server go to http://127.0.0.1:8000/, and you will see the starter page.
To access the admin page, go to http://127.0.0.1:8000/admin. You will need to create a login to be able to login, which you can do by running the command:
python manage.py createsuperuser
which will then prompt you to create a username and password, you will then be able to log into the admin page.
While related projects do not exist yet, a few are in the roadmap:
- Fully capable web interface:
- Capable of connecting to a cloud-based or local installation of Odyssey.
- Users can manage saved data and create automations to post-process such data from existing code they already have.
- Users are capable of viewing live data and controlling test stations as desired.
- Native iOS, iPadOS & Android apps:
- Capable of connecting to a cloud-based or local installation of Odyssey.
- Users are able to take images and associate the images with hardware, tests or issues.
- Users are capable of viewing live data and controlling test stations as desired.