Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/epictetusz1/planets-r-us
An "inventory like app" to learn and practice: Node, Express, MongoDB (via Mongoose), and pug. Heroku fatality was incurred here
https://github.com/epictetusz1/planets-r-us
bootstrap heroku heroku-deployment mongodb mongoose mvc nodejs pug
Last synced: 4 days ago
JSON representation
An "inventory like app" to learn and practice: Node, Express, MongoDB (via Mongoose), and pug. Heroku fatality was incurred here
- Host: GitHub
- URL: https://github.com/epictetusz1/planets-r-us
- Owner: EpictetusZ1
- License: mit
- Created: 2022-03-05T20:30:46.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-05-15T21:48:19.000Z (over 2 years ago)
- Last Synced: 2024-11-06T08:13:25.424Z (about 2 months ago)
- Topics: bootstrap, heroku, heroku-deployment, mongodb, mongoose, mvc, nodejs, pug
- Language: JavaScript
- Homepage: https://planets-r-us.herokuapp.com/planetary-registry
- Size: 1.52 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
## Planets-R-Us
### *Your go-to source for intergalactic conquest !*
An "inventory like app" to learn and practice: Node, Express, MongoDB (via Mongoose), and pug### Table Of Contents:
1. [Live Deployment](#link-to-deployment)
2. [Getting Started](#getting-started)
3. [Description](#description)
4. [Pictures](#pictures)
5. [Functionality](#functionality)
6. [Technologies Used](#technologies-used)
7. [Things I Learned](#things-i-learned)
8. [License](#license)
9. [Acknowledgements](#acknowledgements)### Link To Deployment
🖥 View a live demo of this project at: [Planets-R-Us](https://planets-r-us.herokuapp.com/)[Back to top](#table-of-contents)
## Getting Started
1. ⬇️ Clone the repository to your local machine
```shell
git clone [email protected]:EpictetusZ1/planets-r-us.git
```
2. Install project dependencies with npm
```shell
npm install
```
3. 🏃 Run project
```shell
npm run start
```[Back to top](#table-of-contents)
## Description
An assignment from [The Odin Project](https://www.theodinproject.com/)### Claim your planet before its gone!
Claiming a planet lets you give it a unique and official sounding name!Beware, once its named it cannot be changed, edited or removed!
This app operates on an anonymous first come, first served basis. Go to the deployment, find an unclaimed planet, claim and make it yours!
[Back to top](#table-of-contents)
## Pictures
Project Homepage
Galaxy list
Planet Type list
Planet instance detail page
Below is the authors humble attempt to map out the database structure to give you, the reader, a visual representation of how this application will use MongoDB and Mongoose to implement an MVC project architecture.
[Back to top](#table-of-contents)
## Functionality
- Input validation on Planet Instance names, and "required-resources" for the Planet Type
- Unique data points (Galaxies) with their own set of unique planets
- Fully functional MongoDB integration
- CRUD operations available on unclaimed planets
- Read only operations available on claimed planets[Back to top](#table-of-contents)
## Technologies Used
- Node
- Express
- async package
- dotEnv package
- Express Validator
- MongoDB
- Mongoose
- Pug (Templating language)
- Bootstrap
- Heroku[Back to top](#table-of-contents)
## Things I Learned
- CRUD Operations in Express / MongoDB
- Generating simple user interfaces with a templating language
- Forms and server side validation
- Data Modelling with Mongoose
- Basic UML (Unified Modelling Language) for planning project architecture
- Basic Bootstrap, including 'Helper Classes'[Back to top](#table-of-contents)
## License
Distributed under the MIT License. See `LICENSE.txt` for more information.[Back to top](#table-of-contents)
## Acknowledgements
#### Planet and Galaxy Images:
- Create via [Deep-Folds](https://deep-fold.itch.io/pixel-planet-generator) generator, follow them on [Twitter](https://twitter.com/Deep_Fold)
Project was authored by Jack Heaton - ([EpictetusZ1](https://github.com/EpictetusZ1)).
[Back to top](#table-of-contents)