{"id":19557476,"url":"https://github.com/impfundev/node-js-user-management","last_synced_at":"2026-06-19T09:31:23.945Z","repository":{"id":233840142,"uuid":"787895059","full_name":"impfundev/node-js-user-management","owner":"impfundev","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-17T11:43:13.000Z","size":2029,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T08:15:36.711Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/impfundev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-17T11:42:52.000Z","updated_at":"2024-04-17T11:43:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"9f195383-924c-444a-8fa2-e94b522949a7","html_url":"https://github.com/impfundev/node-js-user-management","commit_stats":null,"previous_names":["impfundev/node-js-user-management"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/impfundev/node-js-user-management","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/impfundev%2Fnode-js-user-management","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/impfundev%2Fnode-js-user-management/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/impfundev%2Fnode-js-user-management/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/impfundev%2Fnode-js-user-management/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/impfundev","download_url":"https://codeload.github.com/impfundev/node-js-user-management/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/impfundev%2Fnode-js-user-management/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34526065,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T04:42:37.367Z","updated_at":"2026-06-19T09:31:23.928Z","avatar_url":"https://github.com/impfundev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node.js Backend API CRUD User Management (Harisenin.com Bootcamp FSD Task)\n\nNode.js Backend API CRUD User Management adalah backend servis yang digunakan untuk keperluan manajemen user dengan database MySQL.\n\nFitur:\n\n- Create User\n- Login \u0026 Logout\n- Session Control\n- Update User Information\n- Delete User\n\n## Hasil Test Menggunakan Postman\n\nJalankan test menggunakan Postman:\n\n[\u003cimg src=\"https://run.pstmn.io/button.svg\" alt=\"Run In Postman\" style=\"width: 128px; height: 32px;\"\u003e](https://app.getpostman.com/run-collection/34320509-8008fd17-22c6-41f5-ba69-1d1ae12404f9?action=collection%2Ffork\u0026source=rip_markdown\u0026collection-url=entityId%3D34320509-8008fd17-22c6-41f5-ba69-1d1ae12404f9%26entityType%3Dcollection%26workspaceId%3De7c9d64e-33a4-46df-beaa-2c33ad184c3c#?env%5BEnvironment%5D=W3sia2V5IjoidG9rZW4iLCJ2YWx1ZSI6IjAiLCJlbmFibGVkIjp0cnVlLCJ0eXBlIjoiZGVmYXVsdCIsInNlc3Npb25WYWx1ZSI6ImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUpwWkNJNkltRXpZekZpTldKbExXRXdZemN0TkRnd1l5MDROall6TFRCak9EWXhZalV3WXpNNE1DSXNJblZ6WlhKdVlXMWxJam9pYVd4b1lXMXRZWFZzWVc1aElpd2lhV0YwLi4uIiwic2Vzc2lvbkluZGV4IjowfSx7ImtleSI6InVzZXJJZCIsInZhbHVlIjoiMCIsImVuYWJsZWQiOnRydWUsInR5cGUiOiJkZWZhdWx0Iiwic2Vzc2lvblZhbHVlIjoiYTNjMWI1YmUtYTBjNy00ODBjLTg2NjMtMGM4NjFiNTBjMzgwIiwic2Vzc2lvbkluZGV4IjoxfV0=)\n\n### Register Test\n\n![Register Test](screenshoot/register-user-test.png)\n\nResult on database with MySQL Workbench\n\n![Register Test Result](screenshoot/register-user-test-result.png)\n\n### Login Test\n\n![Login Test](screenshoot/login-test.png)\n\nGet Cookie\n\n![Login Test](screenshoot/login-test-get-cookie.png)\n\n### Get All User Test\n\n![All User Test](screenshoot/all-user-test.png)\n\n### Get Single User Test\n\n![Single User Test](screenshoot/single-user-test.png)\n\n### Update User Data Test\n\n![Update User Test](screenshoot/update-user-test.png)\n\nResult on database with MySQL Workbench\n\n![Update User Test Result](screenshoot/update-user-test-result.png)\n\n### Logout Test\n\n![Logout Test](screenshoot/logout-test.png)\n\nResult: Cookie Deleted.\n\n![Logout Test Result](screenshoot/logout-test-delete-cookie.png)\n\n### Delete User Test\n\n![Delete User Test](screenshoot/delete-user-test.png)\n\nResult on database with MySQL Workbench\n\n![Delte User Test Result](screenshoot/delete-user-test-result.png)\n\n## Setup\n\n1. Install aplikasi\n\n```\nnpm install\n```\n\n2. Buat .env dan isi variable sesuai dengan namanya\n\n```\ncp .env.sample .env\n```\n\n3. Lakukan migrasi untuk pertama kali. Proses ini untuk membuat table pada database MySQL.\n\n```\nnpm run migrate\n```\n\n4. Jalankan Aplikasi dalam mode development\n\n```\nnpm run dev\n```\n\n## Lint\n\n```\nnpm run lint\n```\n\n## Utilities\n\nAPI Server utilities:\n\n- [morgan](https://www.npmjs.com/package/morgan)\n  - HTTP request logger middleware untuk node.js\n- [helmet](https://www.npmjs.com/package/helmet)\n  - Helmet meningkatkan keamanan Express apps dengan setting berbagai macam HTTP headers.\n- [dotenv](https://www.npmjs.com/package/dotenv)\n  - Dotenv merupakan zero-dependency module yang menyajikan environment variables dari `.env` file ke `process.env`\n- [cors](https://www.npmjs.com/package/cors)\n  - CORS adalah package node.js untuk menyediakan middleware Connect/Express yang dapat digunakan dalam mengaktifkan CORS dengan berbagai pilihan.\n\nDevelopment utilities:\n\n- [typescript](https://www.npmjs.com/package/typescript)\n  - Typescript adalah bahasa pemrograman berbasis JavaScript yang menambahkan fitur strong-typing.\n- [ts-node](https://www.npmjs.com/package/ts-node)\n  - Eksekusi TypeScript dan REPL untuk node.js, dengan peta sumber dan dukungan ESM asli.\n- [nodemon](https://www.npmjs.com/package/nodemon)\n  - nodemon adalah tool yang membantu mengembangkan aplikasi berbasis node.js dengan memulai ulang aplikasi node secara otomatis ketika perubahan file dalam direktori terdeteksi.\n- [eslint](https://www.npmjs.com/package/eslint)\n  - ESLint adalah alat untuk mengidentifikasi dan melaporkan pola yang ditemukan dalam kode ECMAScript/JavaScript.\n- [typescript-eslint](https://typescript-eslint.io/)\n  - Package yang memungkinkan ESLint mendukung TypeScript.\n- [bcrypt](https://www.npmjs.com/package/bcrypt)\n  - bcrypt adalah library Node.js untuk membantu hashing pasword (encrypt dan compare).\n- [mysql2](https://www.npmjs.com/package/mysql2)\n  - Klien MySQL untuk Node.js dengan fokus pada kinerja. Mendukung pernyataan yang disiapkan, pengkodean non-utf8, protokol log biner, kompresi, ssl, dan banyak lagi.\n- [sequelize](https://www.npmjs.com/package/sequelize)\n  - Sequelize adalah alat ORM Node.js yang mudah digunakan dan berbasis janji untuk Postgres, MySQL, MariaDB, SQLite, DB2, Microsoft SQL Server, dan Snowflake. Ini menampilkan dukungan transaksi yang solid, hubungan, pemuatan yang bersemangat dan lambat, replikasi baca, dan banyak lagi.\n- [knex](https://www.npmjs.com/package/knex)\n  - Knex dapat digunakan sebagai pembuat kueri SQL di Node.JS dan browser, terbatas pada batasan WebSQL (seperti ketidakmampuan untuk menghapus tabel atau membaca skema).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimpfundev%2Fnode-js-user-management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimpfundev%2Fnode-js-user-management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimpfundev%2Fnode-js-user-management/lists"}