{"id":14957611,"url":"https://github.com/fifocode/wimm-apis","last_synced_at":"2025-09-20T17:32:25.266Z","repository":{"id":218738453,"uuid":"739765301","full_name":"unusualcodeorg/wimm-node-app","owner":"unusualcodeorg","description":"Modern NodeJS Backend Development - WhereIsMyMotivation - Nestjs Backend Architecture - Learn to build a modular and secure backend services using very popular Nestjs framework. ","archived":false,"fork":false,"pushed_at":"2024-07-10T16:51:59.000Z","size":2143,"stargazers_count":128,"open_issues_count":0,"forks_count":23,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-06T00:07:00.929Z","etag":null,"topics":["backend","backend-api","backend-service","express","express-js","expressjs","mongodb","mongoose","nest","nestjs","nestjs-backend","node","node-js","nodejs","redis","typescript","vscode"],"latest_commit_sha":null,"homepage":"https://github.com/janishar/wimm-node-app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unusualcodeorg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-06T13:31:46.000Z","updated_at":"2025-01-03T06:51:50.000Z","dependencies_parsed_at":"2024-06-26T14:36:10.287Z","dependency_job_id":"a1631a21-3b2e-4f89-88f4-3d7c636651af","html_url":"https://github.com/unusualcodeorg/wimm-node-app","commit_stats":{"total_commits":163,"total_committers":1,"mean_commits":163.0,"dds":0.0,"last_synced_commit":"171c193d1f6bdc9983ce4ffcf29065d6acb03888"},"previous_names":["janishar/wimm-node-app","unusualcodeorg/wimm-node-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unusualcodeorg%2Fwimm-node-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unusualcodeorg%2Fwimm-node-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unusualcodeorg%2Fwimm-node-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unusualcodeorg%2Fwimm-node-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unusualcodeorg","download_url":"https://codeload.github.com/unusualcodeorg/wimm-node-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233678672,"owners_count":18712982,"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":["backend","backend-api","backend-service","express","express-js","expressjs","mongodb","mongoose","nest","nestjs","nestjs-backend","node","node-js","nodejs","redis","typescript","vscode"],"created_at":"2024-09-24T13:15:14.302Z","updated_at":"2025-09-20T17:32:25.253Z","avatar_url":"https://github.com/unusualcodeorg.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NestJS Backend Architecture Project\n\n[![Docker Compose CI](https://github.com/fifocode/wimm-apis/actions/workflows/docker_compose.yml/badge.svg)](https://github.com/fifocode/wimm-apis/actions/workflows/docker_compose.yml)\n\n## WhereIsMyMotivation\n\n![Cover](.resources/documentations/assets/cover.jpg)\n\nThis is a complete production ready project to learn modern techniques and approaches to build a performant and secure backend API services. It is designed for web apps, mobile apps, and other API services.\n\n## Framework\n- NestJS\n- Express Node\n- Typescript\n- Mongoose\n- Mongodb\n- Redis\n- JsonWebToken\n- Jest\n- Docker\n- Multer\n\n## Highlights\n- API key support\n- Token based Authentication\n- Role based Authorization\n- Database dump auto setup\n- vscode template support\n- Unit Tests\n- Integration Tests\n- 75% plus Test Coverage\n- Clean and modular codebase\n\n## Notes\nA few things are added to aid the learning process\n- disk submodule is added to provide images\n- database dump is added to seed the database\n\n# About Project\nWhereIsMyMotivation is a concept where you see videos and quotes that can inspire you everyday. You will get information on great personalities and make them your perceived mentors. You can also subscribe to topics of your interests. \n\nYou can track your happiness level and write down daily journals. You can also share things of interest from web to store in your motivation box.\n\nUsing this app can bring a little bit of happiness and energy to live an inspired life.\n\n## Read the Article to understand this project\n[Mastering NestJS — Building an Effective REST API Backend](https://fifocode.com/article/mastering-nestjs-building-an-effective-rest-api-backend)\n\n## Android App using this backend\n![Screenshot-Light](.resources/documentations/assets/display-light.png)\n\nThe Android App using this backend is also open-sourced. You can find the project here: [Modern Android Development - WhereIsMyMotivation](https://github.com/fifocode/wimm-android-app)\n\n## Request-Response Flow\n\n![Request-Response-Design](.resources/documentations/assets/request-flow.svg)\n\n# Installation Instruction\nvscode is the recommended editor - dark theme \n\n### Get the repo \n```bash\n# clone repository recursively\ngit clone https://github.com/fifocode/wimm-apis.git --recursive\n```\n\n### Install libraries\n```bash\n$ npm install\n```\n\n### Run Docker Compose\n- Install Docker and Docker Compose. [Find Instructions Here](https://docs.docker.com/install/).\n\n```bash\n# install and start docker containers\ndocker-compose up --build\n```\n-  You will be able to access the api from http://localhost:3000\n\n### Run Tests\n```bash\ndocker exec -t wimm-apis-tester npm run test:cov\n```\nIf having any issue\n- Make sure 3000 port is not occupied else change PORT in **.env** file.\n- Make sure 27017 port is not occupied else change DB_PORT in **.env** file.\n- Make sure 6379 port is not occupied else change REDIS_PORT in **.env** file.\n\n## Run on the local machine\nChange the following hosts in the **.env** and **.env.test**\n- DB_HOST=localhost\n- REDIS_HOST=localhost\n\nBest way to run this project is to use the vscode `Run and Debug` button. Scripts are available for debugging and template generation on vscode.\n\n```bash\n$ npm install\n```\n\n### Running the app\n\n```bash\n# development\n$ npm run start\n\n# watch mode\n$ npm run start:dev\n\n# production mode\n$ npm run start:prod\n```\n\n### Test\n\n```bash\n# unit tests\n$ npm run test\n\n# e2e tests\n$ npm run test:e2e\n\n# test coverage\n$ npm run test:cov\n```\n\n## API DOC\n[![API Documentation](https://img.shields.io/badge/API%20Documentation-View%20Here-blue?style=for-the-badge)](https://documenter.getpostman.com/view/1552895/2s9YymH5MR)\n\n## Minimalistic version of this project\nIf you want to use plain Express.js to create the same project explore the Minimalistic version of this project\n\n[Minimalistic Backend Development - WhereIsMyMotivation](https://github.com/fifocode/wimm-apis-minimalistic)\n\n## Find this project useful ? :heart:\n* Support it by clicking the :star: button on the upper right of this page. :v:\n\n## More on YouTube channel - fifocode\nSubscribe to the YouTube channel `fifocode` for understanding the concepts used in this project:\n\n[![YouTube](https://img.shields.io/badge/YouTube-Subscribe-red?style=for-the-badge\u0026logo=youtube\u0026logoColor=white)](https://www.youtube.com/@fifocode)\n\n## Contribution\nPlease feel free to fork it and open a PR.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffifocode%2Fwimm-apis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffifocode%2Fwimm-apis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffifocode%2Fwimm-apis/lists"}