# sarlink-portal-api API for SARLink portal in Django Rest Framework. ## Deployment 1. clone the repo `git clone git@github.com:i701/sarlink-portal-api.git` 2. Create virtual enviroment `virtualenv venv` and activate it `source venv/bin/activate` 3. Install requirements `pip install -r requirements.txt` 4. Copy .env.example to .env and fill in the configs `cp .env.example .env` 5. generate static `python manage.py collectstatic` 6. Run Migrations `python manage.py migrate` ## deployement with Docker 1. Create `compose.yml` ```yaml services: portal-api: hostname: portal-api image: git.shihaam.dev/sarlink/sarlink-portal-api/api env_file: .env.api nginx: hostname: portal-api-nginx image: git.shihaam.dev/sarlink/sarlink-portal-api/nginx volumes_from: - portal-api ports: - 4000:80 depends_on: - portal-api portal-db: image: postgres:14 restart: always hostname: portal-db volumes: - ./database:/var/lib/postgresql/data env_file: .env.db ``` 2. Start services: `docker compose up -d` 3. Run Migrations: `docker compose exec portal-api python manage.py migrate` 4. Test api with curl: ```bash curl -X POST http://localhost:4000/api/auth/login/ \ -H "Content-Type: application/json" \ -d '{"username":"admin", "password":"soemthign"}' ``` expected response: `{"message":"Unable to log in with provided credentials."}`