Simple To Do application built with Node.js and Express.js that lets you add tasks on a single page, store new and finished tasks in different arrays. Containerized with Docker and tested with NPM through GitHub Actions pipeline.
EJS simply stands for Embedded Javascript. It is a simple templating language/engine that lets its user generate HTML with plain javascript. EJS is mostly useful whenever you have to output HTML with a lot of javascript. EJS is a simple templating language that lets you generate HTML markup with plain JavaScript. No religiousness about how to organize things. No reinvention of iteration and control-flow.
## Body-Parser
Body-Parser is the Node. js body parsing middleware. It is responsible for parsing the incoming request bodies in a middleware before you handle it. This extracts the entire body portion of an incoming request stream and exposes it on req.body
## :white_check_mark: Requirements ##
Before starting :checkered_flag:, you need to have [Git](https://git-scm.com) and [Node](https://nodejs.org/en/) installed.
# The server will initialize in the <http://localhost:3000>
```

## Test App
Run <code> npm test </code> to run the tests

## Build Docker Image with Dockerfile
Use the following commands in your `Dockerfile` to build a Docker image:
```dockerfile
FROMnode:16-alpine
WORKDIR/app
COPY package*.json .
RUN npm install
COPY . .
EXPOSE3000
CMD["npm","start"]
```
## Containerization with Docker using GitHub Actions
Create your own GitHub Actions workflow to build your Docker image and push it to DockerHub. Name your workflow file as <code> dockerx.yml </code> and add the following steps: