ihub
is a reference project for modern full-stack web application built using TypeScript
, React.js
, Redux
, Node.js
, Express
, and MongoDB
.
- Build highly decoupled web application components UI, API and Database/Persistence
- Each components should be scaled and released independently
- Introduce productive software development tools and techniques
- Introduce modern application deployment tools i.e. Kubernetes and Docker
- API RESTful API built with
Node.js
,Express
,MongoDB
, andTypeScript
. - UI Single Page Application built with
React.js
,Redux
andTypeScript
.
The recommended way to run the app is using docker compose
.
-
Install docker: Docker
-
Run docker compose
docker compose up --build
docker compose up --build // to run all apps together based on docker-compose.yml file
docker remove 02136a267daa // remove a container
docker images // list images
docker rmi image_name -f // remove an image
// sync local working directory with container working directory
docker run -v $(pwd):/container-workdir -p host-port:container-port --name container-name image-name
// Check image vulnerabilities
docker scout quickview
docker scout cves image_name:version
Instructions to deploy this app with Kubernetes and test it locally can be found here