Skip to content

sheikhshack/tap-assmnt-sheikhsalim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CircleCI

TAP Shortener

Name: Sheikh Salim

Hi Govtech Team! This is a mini repository for the Shortener Assignment

Installation instructions

Running with Docker Compose / Docker

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

The stack is as such:

  • Front end is ReactJS, with Bootstrap for responsiveness
  • Back end is ExpressJS, with Sequelize as ORM
  • Testing is with Jest
  • Database is Postgres
  • CI/CD is CircleCI
  • And to top everything off, Docker to manage and containerise everything

Misc

Deployment

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!

Tests

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! :)

About

TAP Assignment - A URL Shortener App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published