{"id":20026278,"url":"https://github.com/buzzcosm/ztm-course-projects-nodejs-nasa-project","last_synced_at":"2026-04-10T01:56:09.283Z","repository":{"id":261073030,"uuid":"882852935","full_name":"buzzcosm/ztm-course-projects-nodejs-nasa-project","owner":"buzzcosm","description":"Exercise: NASA Project as Full Stack with Node.js","archived":false,"fork":false,"pushed_at":"2024-11-24T11:59:29.000Z","size":2751,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-12T17:13:03.541Z","etag":null,"topics":["arwes","cors","csv-parse","drawio","express-js","javascript","morgan-middleware","nodejs","postman","postman-collection","react","server-client","ztm","ztm-course-exercises"],"latest_commit_sha":null,"homepage":"","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/buzzcosm.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-11-03T23:08:49.000Z","updated_at":"2024-11-24T11:59:32.000Z","dependencies_parsed_at":"2024-11-19T22:33:33.229Z","dependency_job_id":null,"html_url":"https://github.com/buzzcosm/ztm-course-projects-nodejs-nasa-project","commit_stats":null,"previous_names":["buzzcosm/ztm-course-projects-nodejs-nasa-project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buzzcosm%2Fztm-course-projects-nodejs-nasa-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buzzcosm%2Fztm-course-projects-nodejs-nasa-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buzzcosm%2Fztm-course-projects-nodejs-nasa-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/buzzcosm%2Fztm-course-projects-nodejs-nasa-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/buzzcosm","download_url":"https://codeload.github.com/buzzcosm/ztm-course-projects-nodejs-nasa-project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241460090,"owners_count":19966511,"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":["arwes","cors","csv-parse","drawio","express-js","javascript","morgan-middleware","nodejs","postman","postman-collection","react","server-client","ztm","ztm-course-exercises"],"created_at":"2024-11-13T09:06:04.610Z","updated_at":"2026-04-10T01:56:04.264Z","avatar_url":"https://github.com/buzzcosm.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NASA Mission Control Project\n\n`ZTM` Udemy Course - [Complete NodeJS Developer](https://www.udemy.com/course/complete-nodejs-developer-zero-to-mastery).\n\nOriginal final code of this course section on [GitHub](https://github.com/odziem/nasa-project) of `nasa-project`.\n\n`ZTM` 👉 [Don’t be a Junior Developer](https://zerotomastery.io/blog/dont-be-a-junior-developer-the-roadmap)\n\u003e\u003e [The Developer’s Edge: How To Become A Senior Developer](https://zerotomastery.io/blog/developers-edge-how-to-become-a-senior-developer/)\n\n## Prerequisite\n\n\u003c!-- --\u003e\n- `Node.js` is installed ⚡\n- Prefered Code-Editor/IDE is installed (For example: `vscode`) ✍\n- Terminal is ready 😎 \n\n## Structure\n\n\u003c!-- ![Alt text](./docs/images/Project+Architectural+Diagram.drawio.svg) --\u003e\n\u003cimg src=\"./docs/images/Project+Architectural+Diagram.drawio.svg\"\u003e\n\n## Description\n\n\u003c!-- Exercises for NASA Project. --\u003e\n📌 The \"NASA Mission Control\" project provides a valuable exercise in integrating RESTful APIs using Node.js and Express.js. Through this project, you’ll gain hands-on experience in managing API endpoints, handling requests, and efficiently structuring backend processes, which are essential skills for developing robust web applications.\n\n🚀 👉 It was a fantastic experience filled with fun and learning! 🎉💥🙌\n\n## Process\n\n### Install npm packages ⬇\n\n```shell\nnpm install\n```\n\n### Run application 🏎️💨\n\u003c!-- \n\u003e [!CAUTION]\n\u003e Currently only optimized for deployment! --\u003e\n\n```shell\n# develop mode\nnpm run watch\n```\n\nor\n\n```shell\n# production mode\nnpm run deploy\n```\n\nor\n\n```shell\nnpm run deploy-cluster\n```\n\n### Test application 📊\n\n```shell\nnpm test\n```\n\nor\n\n```shell\n# from server\ncd server\nnpm run test-watch \n```\n\n### Clean artifacts 🧹🪣\n\n\u003e [!TIP]\n\u003e Keep your things clean!\n\nRemove all `node_modules` and `public` folder.\n\n```shell\nnpm run clean\n```\n\n## Testing APIs\n\n- [JEST](https://jestjs.io/)\n  - [Getting Started](https://jestjs.io/docs/getting-started)\n- [npm - SuperTest](https://www.npmjs.com/package/supertest)\n\n## Useful references\n\n\u003c!-- \n- []()\n --\u003e\n- [Lucid App](https://www.lucidchart.com/pages/?)\n- [Arwes - Futuristic Sci-Fi UI Web Framework](https://arwes.dev/) ✨🚀\n- [Node.js - Streams Promises API](https://nodejs.org/api/stream.html#stream_streams_promises_api)\n- [Create React App - Deployment](https://create-react-app.dev/docs/deployment/)\n  - [Serving Apps with Client-Side Routing](https://create-react-app.dev/docs/deployment/#serving-apps-with-client-side-routing)\n- [GitHub - Markdown highlighting](https://github.com/orgs/community/discussions/16925)\n- [npm - Morgan Logging Package](https://www.npmjs.com/package/morgan)\n- [Mozilla - JavaScript Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)\n- [NOAA - National Oceanic and Atmospheric Administration / Satellites](https://www.noaa.gov/satellites)\n  - ➥ Maybe interesting for other projects! 🤔💡✍\n- 👇 Better Software Architecture 📐👷🏻‍♀️🏰🏠🕌\n  - [Separation of concerns](https://en.wikipedia.org/wiki/Separation_of_concerns)\n  - [Separation of Concerns in Software Design](https://nalexn.github.io/separation-of-concerns/)\n  - [Layered Architecture to Design iOS Apps](https://www.vadimbulavin.com/layered-architecture-ios/)\n  - [geeksforgeeks - MVC Framework Introduction](https://www.geeksforgeeks.org/mvc-framework-introduction/)\n  - [Wikipedia - Model–view–controller](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)\n  - [LogRocket - Building and structuring a Node.js MVC application](https://blog.logrocket.com/building-structuring-node-js-mvc-application/)\n  - [linkedin - Understanding MVC in Node.js: A Comprehensive Guide](https://www.linkedin.com/pulse/understanding-mvc-nodejs-comprehensive-guide-vishwas-acharya-xpxgf/)\n- [Mozilla - Object.assign()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n- [GitHub - Node.js Best Practices](https://github.com/goldbergyoni/nodebestpractices)\n- [Referential integrity\n](https://en.wikipedia.org/wiki/Referential_integrity)\n- MongoDB\n  - [MongoDB ObjectId ↔ Timestamp Converter](https://steveridout.com/mongo-object-time/)\n- [GitHub - Open Source REST API for SpaceX](https://github.com/buzzcosm/ztm-course-projects-nodejs-nasa-project) 🚀🚀🚀🪐🌌☄️🌑⋆⭐💫\n- [Mozilla - Array.prototype.flatMap()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuzzcosm%2Fztm-course-projects-nodejs-nasa-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbuzzcosm%2Fztm-course-projects-nodejs-nasa-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuzzcosm%2Fztm-course-projects-nodejs-nasa-project/lists"}