This is a basic CRUD app built on Express.js. This app was created to understand the fundamentals of Docker, CI/CD and TypeScript server development.
.
├── Dockerfile
├── LICENSE
├── Procfile
├── README.md
├── app
│ ├── Controller
│ │ └── index.ts
│ ├── Database
│ │ └── recepies.ts
│ ├── Routes
│ │ └── api.ts
│ ├── index.ts
│ └── views
│ ├── pages
│ │ └── index.ejs
│ └── partials
│ ├── footer.ejs
│ ├── head.ejs
│ └── header.ejs
├── package-lock.json
├── package.json
└── tsconfig.json
- Created a basic REST API using Express.js
- Deployed app using Heroku.
- Created a Docker image for this App. Pushed image to Docker-Hub.
- Deployed app Docker-Container using Heroku.
- Migrated to Typescript.
- Eslint and Prettier setup.
- Followed Airbnb style guide.
- Setup eslint config and eslint ignore files.
- Updated Dockerfile.
- Added Pre-Commit Hook via Husky and Lint-Staged
- Improve code quality. Enforce code quality working with teams.
- Added EJS Templates.
- Modified Build Script.
- TSC complies all
.ts
files and outputs to dist folder. EJS Views need to be copied from./app
to./dist
.
- TSC complies all
- Setup Github Actions CI/CD Pipeline.
- Updated Dockerfile.
- Github Actions CI/CD creates Docker Container and pushes to Docker Hub.