- Node Js (Backend)
- MySQL (Database)
- Express Js (Framework Based on NodeJs)
- Express Session (Storing Session Messages)
- Dotenv (Environment Variables)
- Nodemon (Monitoring Server)
- mysql2 (MySQL client for NodeJS)
- Multer (Middleware multipart/form-data)
npm init
npm i express dotenv nodemon mysql2 multer
app.method(path, handler);
app.use()
bisa menggunakan semua method (GET, POST, dll) sehingga biasa digunakan sebagai middleware
app.use("/", (req, res, next) => {
res.send('Hello World'); // <-- memberikan respon text kepada client
});
bisa juga lebih spesifik seperti GET dan POST parameter next hanya bisa digunakan untuk middleware, jadi tidak perlu dituliskan untuk method yang lebih spesifik
app.get("/", (req, res) => {
res.send('Hello from GET');
});
app.post("/", (req, res) => {
res.send('Hello from POST');
});
respon yang diberikan bisa juga dalam bentuk html, atau JSON
app.get("/", (req, res) => {
res.send('<h1>Hello with HTML</h1>');
});
app.post("/", (req, res) => {
res.json({
message: "Hello with JSON"
});
});
untuk menjalankan node server perlu adanya port
app.listen(4000, () => {
console.log("Server berjalan di port 4000");
});
./
|-- node_modules
|-- src/
|-- config/ <-- setup database
|-- controller/ <-- sebuah fungsi yang digunakan didalam routes/
|-- middleware/ <-- middleware
|-- models/ <-- untuk menyimpan fungsi-fungsi call ke DB
|-- routes/ <-- mengumpulkan semua PATH, Users, Products, Sales, dst...
|-- ./index.js <-- main project
Successful Responses (2xx)
- 200 OK (GET, PATCH)
- 201 Created (POST, PUT)
Client Error Responses (4xx)
- 400 Bad Request
- 401 Unauthorized
- 403 Forbidden
- 404 Not Found
- 405 Method Not Allowed
Server error responses (5xx)
- 500 Internal Server Error
Source