DEV Community

Amalia Hajarani
Amalia Hajarani

Posted on

2

Customer: Use Case for Learning Simple CRUD on ExpressJS and NestJS and The CI Pipeline (Use Case Introduction)

Hello dear reader. Today I have new use case to learn ExpressJS and NestJS and I think it's quiet beginner friendly since I have no experience in NestJS. We are just going to create a simple CRUD application and save it into PostgreSQL database. You can find the working repository here.

Resources

Before diving deeper, I want you to know that I will be using two different ORMs, Sequalize for ExpressJS and TypeOrm for NestJS. As I haven't work with node backend environment for so long, I have few resources that I read to build my application.

  1. Node.js Express & PostgreSQL: CRUD Rest APIs example with Sequelize
  2. Clean Node.js Architecture —With NestJs and TypeScript

Please check them out since of course they have better explanation.

Brief explanation

This is a painless usecase once you know how each ORM works and since again, it just a simple CRUD application. Below is how I structured my customer data to be use on every services:

{
    id: number,
    no: string, //uuid
    nama: string, //nama means name
    alamat: string, //alamat means adddress
    kota: string //kota means city
    createdAt: Date,
    updatedAt: Date
}
Enter fullscreen mode Exit fullscreen mode

For summary, we are going to make same functionality for both service which are:

  1. Create new customer
  2. Get all customers
  3. Get a customer by id
  4. Update a customer based on the id
  5. Delete a customer based on the id

Project structure

Since we are going to be running some CI (Continuous Integration) using Jenkins, this is my kind of project structure:

simple-mini-project/
    ├── express-service/
    ├── nest-service/
    ├── front-end-service/
    └── Jenkinsfile
Enter fullscreen mode Exit fullscreen mode

Tips from a beginner:

Since one of our goal is to have CI run, we will have to push our code to a Git repository. It's much better if you push your work everytime you create a new functionality so you don't have to worry about losing your job!

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs