- Docker
- Docker Compose
- Node js
- Npm
- Create a Environment file (dev.env) in the root of the cloned project.
touch dev.env
- Set the below variables in the dev.env file
Name | Value |
---|---|
POSTGRES_HOST | url-shortener-db |
POSTGRES_PORT | 5432 |
POSTGRES_USER | postgres |
POSTGRES_PASSWORD | 12345 |
POSTGRES_DATABASE | url-shortener |
REDIS_HOST | url-shortener-redis |
REDIS_PORT | 6379 |
PORT (Api Server) | 3333 |
APP_MODE | DEV |
URL_DOMAIN | localhost |
- Build all the docker files using the shell script using dev as environment.
./docker-build-all.sh dev
- Run the project using docker compose.
docker-compose -f docker-compose_dev.yml up
- Stop the project using docker compose. (Optional)
docker-compose -f docker-compose_dev.yml down
-
Setting up Nginx as a load balancer and reverse proxy. -
Top frequent url's using Redis sorted sets. -
Setup the project for production ready. -
Add unit tests for api and frontend using jest.
-
Configure Circle CI for docker build and unit tests.
- https://hub.docker.com/repository/docker/kaushiksamanta/url-shortener-api
- https://hub.docker.com/repository/docker/kaushiksamanta/url-shortener-client
- Url-shortener UI:-
- Docker compose runner:-
- Docker build:-
π€ Kaushik Samanta
- Website: kaushiksamanta.github.io
- Github: @kaushiksamanta
- LinkedIn: @kaushik-samanta
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a βοΈ if this project helped you!