{"id":15662047,"url":"https://github.com/bytesleo/nodetomic","last_synced_at":"2025-05-05T23:05:24.124Z","repository":{"id":40672851,"uuid":"191399593","full_name":"bytesleo/nodetomic","owner":"bytesleo","description":"Minimalist boilerplate for NODEJS, designed for vertical and horizontal scalability.","archived":false,"fork":false,"pushed_at":"2024-03-27T02:29:37.000Z","size":1183,"stargazers_count":38,"open_issues_count":3,"forks_count":13,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2024-10-04T10:37:51.674Z","etag":null,"topics":["api","boilerplate","boilerplate-node","cluster","eslint","express","jest","jwt","mongodb","node","node-express","nodejs","redis","rest","scalability","server","socketio","swagger","swagger-api","webpack"],"latest_commit_sha":null,"homepage":"https://kevoj.github.io/nodetomic","language":"JavaScript","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/bytesleo.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}},"created_at":"2019-06-11T15:25:27.000Z","updated_at":"2024-06-25T14:31:15.000Z","dependencies_parsed_at":"2023-02-06T08:31:07.485Z","dependency_job_id":null,"html_url":"https://github.com/bytesleo/nodetomic","commit_stats":null,"previous_names":["bytesleo/nodetomic"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytesleo%2Fnodetomic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytesleo%2Fnodetomic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytesleo%2Fnodetomic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytesleo%2Fnodetomic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bytesleo","download_url":"https://codeload.github.com/bytesleo/nodetomic/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221147548,"owners_count":16764150,"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","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":["api","boilerplate","boilerplate-node","cluster","eslint","express","jest","jwt","mongodb","node","node-express","nodejs","redis","rest","scalability","server","socketio","swagger","swagger-api","webpack"],"created_at":"2024-10-03T13:29:55.723Z","updated_at":"2024-10-23T02:20:41.427Z","avatar_url":"https://github.com/bytesleo.png","language":"JavaScript","readme":"# NODETOMIC\n\nMinimalist boilerplate for **nodejs**, designed for vertical and horizontal scalability.\n\n## Technologies\n\n- Express\n- Redis 6\n- MongoDB 4\n- Swagger 3\n- Webpack 5\n- Babel 7\n- Socket 4\n- Eslint\n- Prettier\n- Jest\n\n## Installation\n\n```bash\ngit clone https://github.com/kevoj/nodetomic\ncd nodetomic\nyarn\n```\n\nThen, you will need to create a .env file in the root of the project\n\n```bash\nPROJECT_MODE=development\nPROJECT_NAME=example-name\nSERVER_HOSTNAME=localhost\nSERVER_PORT=8000\nSERVER_WEBSOCKET_PORT=8001\nSWAGGER_HOSTNAME=localhost\nSWAGGER_API_DOCS=true\nJWT_SECRET_KEY=shhhh\nMONGODB_HOSTNAME=127.0.0.1\nMONGODB_PORT=27017\nMONGODB_DATABASE=example-dev\nMONGODB_USERNAME=\nMONGODB_PASSWORD=\nREDIS_HOSTNAME=127.0.0.1\nREDIS_PORT=6379\nREDIS_PASSWORD=\n```\n## Scripts\n\n### start\n\nStart the project in development mode with the .env file that is in the root\n\n```bash\nyarn start\n```\n\n### test\n\nRun the unit tests\n\n```bash\nyarn test\n```\n\n### build\n\nCompile the project\n\n```bash\nyarn build\n```\n\n## Docs\n\n[Guide](https://kevoj.github.io/nodetomic)\n\n## API docs\n\n![image](https://user-images.githubusercontent.com/2652129/128109277-2a7bed2d-f6e7-4fe8-8e67-215fbf60f186.png)\n\n## Scalability\n\n### Starting point\n\n![nodetomic_1](https://user-images.githubusercontent.com/2652129/128117943-ba569149-8f3c-4252-9231-9e16936167a2.png)\n\n### cluster mode **(NO SHARED STATE)**\n\n![nodetomic_2](https://user-images.githubusercontent.com/2652129/128117945-cd4abb81-7c36-4cc3-8de8-0f8b809c6988.png)\n\n### Add Redis to shared state\n\n![nodetomic_3](https://user-images.githubusercontent.com/2652129/128117950-b576e53a-d14b-4b7c-96cc-c317958c1bd3.png)\n\n### Added multiple servers and pm2 load balancing\n\n![nodetomic_4](https://user-images.githubusercontent.com/2652129/128117954-be4c1813-5222-474c-bac1-40ffd6aace60.png)\n\n### Added database and load balancer\n\n![nodetomic_5](https://user-images.githubusercontent.com/2652129/128117959-e2893fb2-7588-4fb0-8625-b237be20dad2.png)\n\n### Added redis cluster and mongodb sharded clusters\n\n![nodetomic_6](https://user-images.githubusercontent.com/2652129/128117966-7bbc6054-97a7-4ae4-bfc1-71071c41fdd7.png)\n\n### Conclusion\n\n![nodetomic_7](https://user-images.githubusercontent.com/2652129/128117968-de8d3d3f-25af-4b5f-bfab-cac9d9e9dac9.png)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytesleo%2Fnodetomic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbytesleo%2Fnodetomic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytesleo%2Fnodetomic/lists"}