{"id":18232777,"url":"https://github.com/irfnd/irfandi-betest","last_synced_at":"2026-02-21T11:02:09.278Z","repository":{"id":260248843,"uuid":"880765675","full_name":"irfnd/irfandi-betest","owner":"irfnd","description":"Implementation for technical test Code.id","archived":false,"fork":false,"pushed_at":"2024-10-30T13:30:26.000Z","size":161,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T03:08:06.026Z","etag":null,"topics":["confluent-kafka","expressjs","kafkajs","mongodb-atlas","prisma","scalar","typescript","upstash-redis","vercel"],"latest_commit_sha":null,"homepage":"https://ms-irfandi-betest.onrender.com","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/irfnd.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,"zenodo":null}},"created_at":"2024-10-30T10:12:51.000Z","updated_at":"2024-10-30T13:30:30.000Z","dependencies_parsed_at":"2025-04-11T03:08:09.629Z","dependency_job_id":"c0219859-0c9c-403b-8132-2dfc17c6f9ed","html_url":"https://github.com/irfnd/irfandi-betest","commit_stats":null,"previous_names":["irfnd/irfandi-betest"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/irfnd/irfandi-betest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irfnd%2Firfandi-betest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irfnd%2Firfandi-betest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irfnd%2Firfandi-betest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irfnd%2Firfandi-betest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/irfnd","download_url":"https://codeload.github.com/irfnd/irfandi-betest/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irfnd%2Firfandi-betest/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29679049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T09:33:50.764Z","status":"ssl_error","status_checked_at":"2026-02-21T09:33:19.949Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["confluent-kafka","expressjs","kafkajs","mongodb-atlas","prisma","scalar","typescript","upstash-redis","vercel"],"created_at":"2024-11-04T14:03:38.432Z","updated_at":"2026-02-21T11:02:09.260Z","avatar_url":"https://github.com/irfnd.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Technical Test - Irfandi\n\nImplementation for technical test [Code.id](https://www.code.id/)\n\n## Features\n\n- **Backend**: using [Express](https://expressjs.com/) + [TypeScript](https://www.typescriptlang.org/)\n- **Logging**: using [Morgan](https://github.com/expressjs/morgan)\n- **Environment vars**: using [Dotenv](https://github.com/motdotla/dotenv)\n- **Security**: set security HTTP headers using [Helmet](https://helmetjs.github.io/)\n- **CORS**: Cross-Origin Resource-Sharing enabled using [Cors](https://github.com/expressjs/cors)\n- **Compression**: gzip compression with [Compression](https://github.com/expressjs/compression)\n- **Database**: using [MongoDB Atlas](https://www.mongodb.com/atlas) with [Prisma](https://www.prisma.io)\n- **Message Broker**: using [Kafka](https://kafka.apache.org/) ([KafkaJS](https://kafka.js.org/), [Confluent](https://www.confluent.io/))\n- **Caching**: using [Redis](https://redis.io/) ([Upstash](https://upstash.com/))\n- **API Documentation**: using [Scalar Docs](https://scalar.com/)\n- **CI/CD**: deploy on [Render](https://render.com/)\n- **Git hooks**: with [Husky](https://github.com/typicode/husky) and [Lint-staged](https://github.com/okonet/lint-staged)\n- **Linting**: with [Eslint](https://eslint.org/) and [Prettier](https://prettier.io/)\n- **Validations**: schema validation with [Zod](https://zod.dev/)\n\n## Get Started\n\n- Clone this repo\n  ```bash\n  git clone https://github.com/irfnd/irfandi-betest\n  ```\n- Rename this boilerplate to whatever you want and move to that folder\n  ```bash\n  cd \u003cyour-project-name\u003e\n  ```\n- Install all packages\n  ```bash\n  npm install\n  ```\n  or\n  ```bash\n  yarn\n  ```\n  or\n  ```bash\n  pnpm i\n  ```\n- Set up environment variables in `.env` file.\n\n  ```env\n  # Server\n  PORT=\u003cSet Server Port || 8080\u003e\n\n  # MongoDB\n  DATABASE_URL=\u003cMongo Atlas URL\u003e\n\n  # Upstash Redis\n  UPSTASH_REDIS_URL=\u003cUpstash Redis URL\u003e\n  UPSTASH_REDIS_TOKEN=\u003cUpstash Redis Token\u003e\n\n  # Hashing\n  HASHING_SALT=\"secret_irfandi_betest\"\n\n  # JWT\n  JWT_SECRET=\"secret-jwt_irfandi_betest\"\n  JWT_EXPIRES_IN=\"1d\"\n\n  # Confluent Kafka Cluster\n  KAFKA_CLIENT_ID=\u003cConfluent Client ID\u003e\n  KAFKA_BROKER=\u003cConfluent Cluster URL\u003e\n  KAFKK_SASL_USERNAME=\u003cConfluent Username\u003e\n  KAFKA_SASL_PASSWORD=\u003cConfluent Password\u003e\n  ```\n\n- Running project\n  ```bash\n  pnpm start\n  ```\n  or `development`\n  ```bash\n  pnpm dev\n  ```\n- Project running on port `8080` _(default port)_\n- Open `/docs` to see API documentation.\n\n## Contributing\n\nContributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\n- Fork the Project\n- Create your Feature Branch `git checkout -b feature/AmazingFeature`\n- Commit your Changes `git commit -m 'Add some AmazingFeature`\n- Push to the Branch `git push origin feature/AmazingFeature`\n- Open a Pull Request\n\n## License\n\nDistributed under the [MIT](https://github.com/irfnd/irfandi-betest/blob/master/LICENSE) License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firfnd%2Firfandi-betest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firfnd%2Firfandi-betest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firfnd%2Firfandi-betest/lists"}