{"id":21459465,"url":"https://github.com/dannyjiustian/system-server-rfid-blockchain","last_synced_at":"2026-04-09T08:03:16.905Z","repository":{"id":225280203,"uuid":"765545886","full_name":"dannyjiustian/System-Server-RFID-Blockchain","owner":"dannyjiustian","description":"This repository is for a contactless payment server system with blockchain technology, the project is connected with hardware and mobile application systems.","archived":false,"fork":false,"pushed_at":"2024-04-26T09:09:39.000Z","size":234,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-17T04:22:48.966Z","etag":null,"topics":["blockchain","ethereum","expressjs","javascript","mqtt","mqtt-broker","postgresql","prisma","rest-api","server","smart-contracts"],"latest_commit_sha":null,"homepage":"https://github.com/dannyjiustian/System-Server-RFID-Blockchain/tree/main","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dannyjiustian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-03-01T06:08:39.000Z","updated_at":"2024-04-26T09:09:42.000Z","dependencies_parsed_at":"2024-03-04T10:50:39.918Z","dependency_job_id":"ca9f11b4-0b7d-4eec-a19f-4f8ae2f51fed","html_url":"https://github.com/dannyjiustian/System-Server-RFID-Blockchain","commit_stats":null,"previous_names":["dannyjiustian/system-server-rfid-blockchain"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dannyjiustian/System-Server-RFID-Blockchain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannyjiustian%2FSystem-Server-RFID-Blockchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannyjiustian%2FSystem-Server-RFID-Blockchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannyjiustian%2FSystem-Server-RFID-Blockchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannyjiustian%2FSystem-Server-RFID-Blockchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dannyjiustian","download_url":"https://codeload.github.com/dannyjiustian/System-Server-RFID-Blockchain/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannyjiustian%2FSystem-Server-RFID-Blockchain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278227254,"owners_count":25951883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-03T02:00:06.070Z","response_time":53,"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":["blockchain","ethereum","expressjs","javascript","mqtt","mqtt-broker","postgresql","prisma","rest-api","server","smart-contracts"],"created_at":"2024-11-23T06:29:17.736Z","updated_at":"2025-10-03T20:50:32.620Z","avatar_url":"https://github.com/dannyjiustian.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# System Server for Contactless Payment with Blockchain System \n\nThis repository is built with Javascript programming language as the basic language. The main function in this repository is to create a server for contactless payments with blockchain technology. The server that is run can run locally or publicly. it is hoped that this repository can see the server running, especially on blockchain technology. blockchain uses the Sepolia Test Network for the development of this project. \n\n\n## Preparation\n\nDownload or Clone this repository. After that you open it with Visual Studio Code, and type this command to install all the requirements in this repository.\n\n```bash\nnpm install\n```\n\nIf the installation requirements have been successful, you can use this command from prism to create a database using migration. The database used is PostgreSQL to store all the data in this project. Don't forget to change the PostgreSQL username [YOUR_USERNAME], password [YOUR_PASSWORD], and database name [YOUR_DATABASE_NAME] in the **.env** file.\n\n```env\nDATABASE_URL=\"postgresql://YOUR_USERNAME:YOUR_PASSWORD@localhost:5432/YOUR_DATABASES_NAME\"\n```\n\n```bash\nnpx prisma migrate dev --name init\n```\n\nAnd then you have to run this project first if you need to create a smart contract, a smart contract that is used with your wallet address. This project needs the private key of the wallet address, the url of the api key test network, and finally needs the type of the etherium network. You can fill in the values in the **.env** file. if you need URL_ETH_API_KEY, you can visit the link https://www.alchemy.com/ and create an account. This smart contract runs on Sepolia Network, if you are using another network, you need to change the configuration in the code.\n\n```env\nNETWORK_ETH=USE_SEPOLIA OR USE_ANOTHER_NETWORK_BUT_RUNNING_AT_ETHEREUM_BASE\nURL_ETH_API_KEY=https://eth-[NETWORK_ETH_NAME].g.alchemy.com/v2/YOUR_API_KEY\nACCOUNTS_PRIVATE_KEY=YOUR_PRIVATE_KEY_WALLET_ADDTRESS\n```\n\nYou can use this command to run this smart contract for the first time\n\n```bash\nnpx hardhat run smart_contract/deploy/deploy.js --network sepolia\n```\n\nYou need to add the mqtt host, mqtt port, mqtt username, and mqtt password in the **.env** file. You can create an account at https://hivemq.com\n\n```env\nHOST_MQTT = xxxxxxxx.hivemq.cloud\nPORT_MQTT = xxxx\nUSERNAME_MQTT = xxxxxxxx\nPASSWORD_MQTT = xxxxxxxx\n```\n## Running the code\n\nIf you want to run this code, you have 2 conditions, the first condition is that you need to create a smart contract for the blockchain, you can use this command on the terminal project.\n\n```bash\nnpm run dev-smart-contract\n```\n\nand you need to debug the code, you can use this command in the project terminal.\n\n```bash\nnpm run dev-without-smart-contract\n```\n\n## Optional Configuration at the enviroment\n\nIf you need other configurations in this environment, you can edit this environment, especially the secret key and server port.\n\n```\nAPP_LOCAL=[dev or production]\nCORS_SERVER_PRODUCTION=[dev or production]\nBASE_URL_API_VERSION=[v1 or another version API]\nSECRET_ACCESS_KEY_JWT=s[secret]\nSECRET_REFRESH_KEY_JWT=[secret]\nSECRET_SALT_BYCRPT=[10 or another value]\nPORT_SERVER=[port running this server]\nSECRET_KEY_ETHERS=[secret]\n```\n\n## Tech Stack\n\n**System:** JavaScript, NodeJS, Prisma, ORM\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannyjiustian%2Fsystem-server-rfid-blockchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdannyjiustian%2Fsystem-server-rfid-blockchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannyjiustian%2Fsystem-server-rfid-blockchain/lists"}