Name: Sheikh Salim
Hi Govtech Team! This is a mini repository for the Shortener Assignment
Install Docker Engine and Docker Compose via here.
On parent directory, run
$ docker-compose up -d
This will instantiate all containers and configure them correctly. The page will be served with love on localhost:5000
The images have also been built and published to Dockerhub via sheikhshack/tap-assmt
for ease of usage
The stack is as such:
- Front end is
ReactJS
, withBootstrap
for responsiveness - Back end is
ExpressJS
, withSequelize
as ORM - Testing is with
Jest
- Database is
Postgres
- CI/CD is
CircleCI
- And to top everything off,
Docker
to manage and containerise everything
The repo has an integrated CI/CD pipeline that will automatically push to an AWS instance. This AWS instance is managed by containerrr/watchtower
, which will pull images automatically on update. The deployment version of compose can be found in /docker-compose-aws.yaml
The page is available here: http://13.228.24.102/
Update: Due to the lack of HTTPs and Browser security procedures, the copy button does not work on the server deployemnt. Apologies for this!
To run tests, a nodeJS environment will be required. Please proceed to install nodeJS via here. Following which, verify that everything works correctly by running the following:
cd /back-end && npm install && npm build:ui && npm start
If all has been verified to be working, we can then run tests with
npm run test
Alternatively, do see the CI/CD build results on top. Each push has been configured to run the tests and output the result, before the image is published to Dockerhub.
And lastly, thank you for the opportunity to be considered for TAP! :)