Skip to content

A business inventory-management dashboard. Built using Node/Express to practice implementing the MVC software design pattern, server-side routing, performing CRUD operations on a MongoDB database, using Tailwind CSS, and working with forms in EJS.

Notifications You must be signed in to change notification settings

matthewaubert/inventory-app

Repository files navigation

Inventory Application

A dashboard for managing the inventory of a fake outdoor store – create, view, update, and delete items and categories.

Click here to view the live site

screenshot of home page screenshot of item create page screenshot of item detail page

How to Use

  1. Head to the live site on any device (mobile, tablet or desktop – it doesn't matter)
  2. Browse around the site and perform the following operations:
    • Add new items to the inventory
    • Create new categories to organize inventory items
    • Read/view details about items and categories in the inventory
    • Update details about items and categories in the inventory
    • Delete items and categories from the inventory
  3. All the product data is stored in a database, so your changes will persist!
app-use.mp4

Project Objectives

This project was built in order to practice the following skills:

  • Create a web app in Node.js using the Express framework
  • Use a MongoDB database to store my application's data
  • Implement the Model-View-Controller (MVC) software design pattern
    • Build models to define what data structures my app should contain
    • Set up routes for requesting different information and templates (i.e. views) to render the data as HTML to be displayed in the browser
    • Build controllers for updating models and/or views in response to input from users of my app
  • Perform Create-Read-Update-Delete (CRUD) operations in my app
  • Build views and work with forms in Express using the EJS templating engine
  • Deploy my application to production

Technologies Used

Languages

  • JavaScript
  • EJS – Embedded JavaScript templating engine
  • CSS

Frameworks and Tools

  • Express
  • MongoDB, Mongoose
  • Tailwind CSS
  • Git (obviously)
  • He – for encoding and decoding HTML entities
  • Dotenv – for keeping my database connection strings and API keys secret
  • Multer – Express middleware for handling user-uploaded images
  • Cloudinary – for hosting images

Credits

  • None of the item images are my own. They were obtained from the websites of their respective brands solely for the educational purpose of building this project.
  • SVG icons from Pictogrammers

About

A business inventory-management dashboard. Built using Node/Express to practice implementing the MVC software design pattern, server-side routing, performing CRUD operations on a MongoDB database, using Tailwind CSS, and working with forms in EJS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published