- Python 3.12.x
- Poetry 1.8.x
- Terraform 1.7.x
- Terraform Local
- FastApi
- Uvicorn
- pytest
- pre-commit
- ruff
-
Create a Virtual Environment
python3 -m venv env
-
Activate the Virtual Environment
source env/bin/activate
-
Install Dependencies
make install
-
Run the Server Locally
make start-local [port=xxxx]
Example:
make start-local [port=3000]
make pre-commit-install
-
Create terraform.tfvars (Duplicate from terraform.tfvars.example)
-
Create infrastructure with Terraform Local
make terraform-init && make terraform-apply
-
Verify
List s3 bucket files
make s3-list-bookings
Download file from S3 bucket
make s3-cp-local-booking key=<bucket-key>
Scan DynamoDB table
make dynamodb-scan-bookings
Lint
make lint
Lint and fix
make lint-fix
Format
make format
Launch tests
make test
Launch test with coverage
make coverage
Run pre-commit hooks
make pre-commit