https://github.com/buzzcosm/ztm-course-projects-nodejs-nasa-project
Exercise: NASA Project as Full Stack with Node.js
https://github.com/buzzcosm/ztm-course-projects-nodejs-nasa-project
arwes cors csv-parse drawio express-js javascript morgan-middleware nodejs postman postman-collection react server-client ztm ztm-course-exercises
Last synced: about 1 year ago
JSON representation
Exercise: NASA Project as Full Stack with Node.js
- Host: GitHub
- URL: https://github.com/buzzcosm/ztm-course-projects-nodejs-nasa-project
- Owner: buzzcosm
- Created: 2024-11-03T23:08:49.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-24T11:59:29.000Z (over 1 year ago)
- Last Synced: 2025-01-12T17:13:03.541Z (about 1 year ago)
- Topics: arwes, cors, csv-parse, drawio, express-js, javascript, morgan-middleware, nodejs, postman, postman-collection, react, server-client, ztm, ztm-course-exercises
- Language: JavaScript
- Homepage:
- Size: 2.62 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NASA Mission Control Project
`ZTM` Udemy Course - [Complete NodeJS Developer](https://www.udemy.com/course/complete-nodejs-developer-zero-to-mastery).
Original final code of this course section on [GitHub](https://github.com/odziem/nasa-project) of `nasa-project`.
`ZTM` π [Donβt be a Junior Developer](https://zerotomastery.io/blog/dont-be-a-junior-developer-the-roadmap)
>> [The Developerβs Edge: How To Become A Senior Developer](https://zerotomastery.io/blog/developers-edge-how-to-become-a-senior-developer/)
## Prerequisite
- `Node.js` is installed β‘
- Prefered Code-Editor/IDE is installed (For example: `vscode`) β
- Terminal is ready π
## Structure

## Description
π 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.
π π It was a fantastic experience filled with fun and learning! ππ₯π
## Process
### Install npm packages β¬
```shell
npm install
```
### Run application ποΈπ¨
```shell
# develop mode
npm run watch
```
or
```shell
# production mode
npm run deploy
```
or
```shell
npm run deploy-cluster
```
### Test application π
```shell
npm test
```
or
```shell
# from server
cd server
npm run test-watch
```
### Clean artifacts π§Ήπͺ£
> [!TIP]
> Keep your things clean!
Remove all `node_modules` and `public` folder.
```shell
npm run clean
```
## Testing APIs
- [JEST](https://jestjs.io/)
- [Getting Started](https://jestjs.io/docs/getting-started)
- [npm - SuperTest](https://www.npmjs.com/package/supertest)
## Useful references
- [Lucid App](https://www.lucidchart.com/pages/?)
- [Arwes - Futuristic Sci-Fi UI Web Framework](https://arwes.dev/) β¨π
- [Node.js - Streams Promises API](https://nodejs.org/api/stream.html#stream_streams_promises_api)
- [Create React App - Deployment](https://create-react-app.dev/docs/deployment/)
- [Serving Apps with Client-Side Routing](https://create-react-app.dev/docs/deployment/#serving-apps-with-client-side-routing)
- [GitHub - Markdown highlighting](https://github.com/orgs/community/discussions/16925)
- [npm - Morgan Logging Package](https://www.npmjs.com/package/morgan)
- [Mozilla - JavaScript Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)
- [NOAA - National Oceanic and Atmospheric Administration / Satellites](https://www.noaa.gov/satellites)
- β₯ Maybe interesting for other projects! π€π‘β
- π Better Software Architecture ππ·π»ββοΈπ°π π
- [Separation of concerns](https://en.wikipedia.org/wiki/Separation_of_concerns)
- [Separation of Concerns in Software Design](https://nalexn.github.io/separation-of-concerns/)
- [Layered Architecture to Design iOS Apps](https://www.vadimbulavin.com/layered-architecture-ios/)
- [geeksforgeeks - MVC Framework Introduction](https://www.geeksforgeeks.org/mvc-framework-introduction/)
- [Wikipedia - Modelβviewβcontroller](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)
- [LogRocket - Building and structuring a Node.js MVC application](https://blog.logrocket.com/building-structuring-node-js-mvc-application/)
- [linkedin - Understanding MVC in Node.js: A Comprehensive Guide](https://www.linkedin.com/pulse/understanding-mvc-nodejs-comprehensive-guide-vishwas-acharya-xpxgf/)
- [Mozilla - Object.assign()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
- [GitHub - Node.js Best Practices](https://github.com/goldbergyoni/nodebestpractices)
- [Referential integrity
](https://en.wikipedia.org/wiki/Referential_integrity)
- MongoDB
- [MongoDB ObjectId β Timestamp Converter](https://steveridout.com/mongo-object-time/)
- [GitHub - Open Source REST API for SpaceX](https://github.com/buzzcosm/ztm-course-projects-nodejs-nasa-project) ππππͺπβοΈπββπ«
- [Mozilla - Array.prototype.flatMap()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap)