{"id":21131708,"url":"https://github.com/sanchit0496/nodejs_scaffolding","last_synced_at":"2025-10-12T01:35:29.171Z","repository":{"id":215811704,"uuid":"739737637","full_name":"sanchit0496/nodejs_scaffolding","owner":"sanchit0496","description":"This repository serves as a comprehensive starting point for building scalable, efficient, and robust Node.js applications. Tailored for rapid development and production readiness, it includes a suite of tools and configurations to kickstart any Node.js project, focusing on best practices, security, and performance","archived":false,"fork":false,"pushed_at":"2024-01-14T21:54:49.000Z","size":203,"stargazers_count":9,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T09:11:25.982Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/sanchit0496.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,"publiccode":null,"codemeta":null}},"created_at":"2024-01-06T11:48:58.000Z","updated_at":"2025-04-08T12:06:49.000Z","dependencies_parsed_at":"2025-01-21T06:34:14.857Z","dependency_job_id":null,"html_url":"https://github.com/sanchit0496/nodejs_scaffolding","commit_stats":null,"previous_names":["sanchit0496/nodejs_scaffolding"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sanchit0496/nodejs_scaffolding","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanchit0496%2Fnodejs_scaffolding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanchit0496%2Fnodejs_scaffolding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanchit0496%2Fnodejs_scaffolding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanchit0496%2Fnodejs_scaffolding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sanchit0496","download_url":"https://codeload.github.com/sanchit0496/nodejs_scaffolding/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanchit0496%2Fnodejs_scaffolding/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279009740,"owners_count":26084648,"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-11T02:00:06.511Z","response_time":55,"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-20T05:59:17.082Z","updated_at":"2025-10-12T01:35:29.114Z","avatar_url":"https://github.com/sanchit0496.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node.js Microservice Architecture\n\nThis repository contains a Node.js application implementing a microservice architecture with Sequelize ORM, Apache Kafka for Messaging, Redis for Caching, Swagger for Documentation, JOI for Validation, and Winston for Logging. The application is structured as a scaffolding to kickstart Node.js-based microservice projects.\n\n## Features\n\n- **Express**: Web framework for Node.js.\n- **KafkaJS**: Kafka client for Node.js, used for handling event-driven messaging between services.\n- **ioredis**: Redis client for Node.js, used for caching data efficiently.\n- **Winston**: A logger for just about everything, with `winston-daily-rotate-file` for log rotation.\n- **Sequelize**: Promise-based Node.js ORM for MySQL.\n- **MySQL**: Used for data persistence.\n- **Swagger**: Used for documenting APIs on server.\n- **JOI**: Used for validating incoming requests APIs on server.\n- **PM2**: Widely-used process manager for Node.js applications, known for its ability to keep applications alive indefinitely, reload them without any hurdle.\n- **Nodemon**: Utility that monitors for any changes in your source and automatically restarts your server.\n\n### Prerequisites\n\nBefore running this application, ensure you have the following installed:\n\n- Node.js\n- MySQL\n- Apache Kafka and ZooKeeper\n- Redis\n\n## How To Install and Run Kafka \n\n-**Download Kafka:** https://downloads.apache.org/kafka/3.6.1/kafka_2.12-3.6.1.tgz\n\n-**Download Zookeeper:** https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.8.3/apache-zookeeper-3.8.3-bin.tar.gz \n\nzookeeper-server-start.bat ..\\..\\config\\zookeeper.properties\n\nkafka-server-start.bat ..\\..\\config\\server.properties\n\nkafka-topics.bat --create --topic my-topic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 3 (This is required only when you initialize the topic)\n\nkafka-console-producer.bat --broker-list localhost:9092 --topic my-topic\n\nkafka-console-consumer.bat --bootstrap-server localhost:9092 --topic my-topic --from-beginning\n\n## How to Install and Run Redis\n\n-**Download Redis:** https://github.com/redis/redis/archive/7.2.4.tar.gz\n\nwsl --install\n\nwsl -l -v\n\ncurl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg\n\necho \"deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main\" | sudo tee /etc/apt/sources.list.d/redis.list\n\nsudo apt-get update\n\nsudo apt-get install redis\n\nsudo service redis-server start\n\nredis-cli \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanchit0496%2Fnodejs_scaffolding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanchit0496%2Fnodejs_scaffolding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanchit0496%2Fnodejs_scaffolding/lists"}