Skip to content

An "inventory like app" to learn and practice: Node, Express, MongoDB (via Mongoose), and pug. Heroku fatality was incurred here

License

Notifications You must be signed in to change notification settings

EpictetusZ1/planets-r-us

Repository files navigation

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

planets-r-us

Table Of Contents:

  1. Live Deployment
  2. Getting Started
  3. Description
  4. Pictures
  5. Functionality
  6. Technologies Used
  7. Things I Learned
  8. License
  9. Acknowledgements

Link To Deployment

🖥   View a live demo of this project at: Planets-R-Us

Back to top

Getting Started

  1. ⬇️ Clone the repository to your local machine
    git clone [email protected]:EpictetusZ1/planets-r-us.git
  2. Install project dependencies with npm
    npm install
  3. 🏃‍ Run project
    npm run start

Back to top

Description

An assignment from The Odin Project

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

Pictures

Project Homepage

project homepage

Galaxy list

galaxy list

Planet Type list

planet type list

Planet instance detail page

planet 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.

uml diagram

Back to top

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

Technologies Used

  • Node
  • Express
    • async package
    • dotEnv package
    • Express Validator
  • MongoDB
    • Mongoose
  • Pug (Templating language)
  • Bootstrap
  • Heroku

Back to top

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

License

Distributed under the MIT License. See LICENSE.txt for more information.

Back to top

Acknowledgements

Planet and Galaxy Images:


Project was authored by Jack Heaton - (EpictetusZ1).

Back to top

About

An "inventory like app" to learn and practice: Node, Express, MongoDB (via Mongoose), and pug. Heroku fatality was incurred here

Topics

Resources

License

Stars

Watchers

Forks