Autotuner is an ongoing distributed platform project for vehicle software technicians to accept files and get payments from their customers. The system consists of 2 applications: Autodata and Autoremover. Autodata is the service for supplying vehicle related data. Autoremover is the main service that is used by the employees and the customers.
You should have PostgreSQL 14.12, Python 3.10, and npm 10.7 installed on your system.
There are raw vehicle data in the data directory. Also, you can find the postgresql db dump there too. You have to insert the data to the database before running the system.
You can find the example activate files in the venv_activate_files directory. You can make use of them while configuring your environment duing setup.
-
Clone the repository
-
Create a postgresql database for autodata app
-
Create a postgresql database for autoremover app
-
Create a virtual environment for autodata app with Python 3.10
-
Set the necessary environment variables for autodata app (check below for more info)
-
Create a virtual environment for autoremover app with Python 3.10
-
Set the necessary environment variables for autoremover app (check below for more info)
-
Activate autodata environment.
-
Change directory to autodata.
-
Install the required packages listed in requirements.txt file.
-
Make autodata migrations by running:
python manage.py makemigrations
- Migrate to autodata database by running:
python manage.py migrate
- Create admin user by running:
python manage.py createsuperuser
- Run following command to start autodata server on port 5000:
python manage.py runserver 0.0.0.0:5000
-
Open a new terminal window and change directory to autoremover.
-
Activate autoremover environment in this window.
-
Install the required packages listed in requirements.txt file.
-
Make autoremover migrations by running:
python manage.py makemigrations
- Migrate to autoremover database by running:
python manage.py migrate
- Install npm modules
npm install
- Run following command to generate output.css:
npx tailwindcss -i ./static/src/input.css -o ./static/src/output.css
- Run the following command tu start server:
python manage.py runserver
You have to configure the system from the application interface and the django admin interface. There are settings for connecting 2 applications to each other. Also, you have to set the tax rate and such information too. The applications may give error otherwise. Additionally, all pricings and contents should be given to the system from admin interfaces before customers start to use the system.