Build endpoint Create, Read, Update, Delete (CRUD) for user list and patient with attribute:
users
{
"id" string,
"name" string,
"age" integer,
"birthDate" date
}
patient
{
"id" string,
"name" string,
"address" string,
"phone" number
}
Create Database
CREATE TABLE user (
id_user int(11) NOT NULL,
name varchar(100) NOT NULL,
age int NOT NULL,
birth_date date NOT NULL,
created_at DATETIME NOT NULL,
updated_at TIMESTAMP,
PRIMARY KEY (id_user)
);
CREATE TABLE patient (
id_patient int(11) NOT NULL,
id_user int(11) NOT NULL,
name varchar(100) NOT NULL,
address varchar(100) NOT NULL,
phone int NOT NULL,
created_at DATETIME NOT NULL,
updated_at TIMESTAMP,
PRIMARY KEY (id_patient),
FOREIGN KEY (id_user) REFERENCES user(id_user)
);
- One user handled multiple user/patient.
- Verify name user/patient are unique.
- Validate input form user (alternative: class-validator)
- Implement search feature from data list user and patient, showing list user and patient where similiar each other.
- exmaple
rom-> search resultromiandromo.
- exmaple
- Using MySQL Database.
- List endpoint patient from user perspektif, where user only view list patient in handled are.
- List endpoint patient and user from admin perspektif, where admin can view all user and patient, and search feature by name.
- Verify result only user/patient when method response API in operate.
npm install
npm install express mysql body-parser
npm install express sequelize mysql2 cors --save
node server.js
Project reference:
Membuat RESTful API Dengan Express.js, Sequelize.js dan PostgreSQL
Membuat Autentikasi JWT pada RESTful API dengan Express.js, Sequelize.js