πͺ Installationο
Clone Deeper Repoο
To clone the deeper repository, use the following command:
git clone https://github.com/the-deep/deeper.git deep-project-root
Go to Deeper Project Rootο
Navigate to the deeper project root directory:
cd deep-project-root
Clone Client, Server, and Other Reposο
To clone the server repository, use the following command:
git clone https://github.com/the-deep/server.git server
To clone the client repository, use the following command:
git clone https://github.com/the-deep/client.git client
To clone the client repository (ARY branch), use the following command:
git clone --branch=feature/only-ary https://github.com/the-deep/client.git ./ary-only-client
To clone the Deepl services repository, use the following command:
git clone https://github.com/the-deep/deepl-deep-integration.git deepl-service
Modify Deepl Service Dockerfile (for M1 Mac)ο
If you are using a Mac with an M1 chip, make the following modification to the deepl-service/Dockerfile file:
Change the FROM statement to specify the amd64 platform:
FROM --platform=linux/amd64 python:3.10-slim-buster
Disable Airplay Receiver (for Mac)ο
If you are on a Mac, disable the βAirplay Receiverβ from βSystem Preferences > Sharingβ to make port 5000 available for use.
Start Servers with Docker Composeο
To start the servers using Docker Compose, follow these steps:
Make sure you have the latest versions of Docker and Docker Compose installed.
Build the Docker containers:
docker-compose build
Start the servers:
docker-compose up
Useful Commandsο
To migrate, go to the docker container and run migrate command:
docker-compose exec web ./manage.py migrate
To test, go to the docker container and run the test command:
docker-compose exec web pytest # Run all test with fresh database
docker-compose exec web pytest --reuse-db --last-failed -vv # Run last failed test but reuse existing db
docker-compose exec web pytest apps/user/tests/test_schemas.py::TestUserSchema::test_user_last_active # Run specific tests
To add a new package the following steps
In the server directory
Add package in pyproject.yml file
Run `poetry lock --no-update`.This will update poetry.lock
In the deeper directory
docker compose up --build