An open API service indexing awesome lists of open source software.

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

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)