๐ there, and welcome to the repository for Now That's Delicious! This project is a single page application I developed in an attempt to learn how to use JavaScript to create the backend of a site! It takes advantage of Node, Express, and MongoDB Atlas, and definitely keeps true to traditional MVC design principals.
Lastly, you can check out the finished product over at https://nowthatdelicious.herokuapp.com/.
Haven't you ever wanted a place to keep track of your favorite local eateries? Well this app is just for you! Upon launch, you'll be greeted a bunch of stores that have been uploaded by other users. The descriptions, images, reviews, and locations are all specified by the user.
For you to get started, simply make an account by clicking on register. Once you set up an account you can now add a new store, edit an existing one, or start reviewing. You can review with a simple like or perhaps, leave a review (along with a star-rank out of 5)! These reviews all contribute to the store's overall score on the Top page!
The search bar is tailored to the store name, and description allowing you to search for things like 'Coffee' or 'beer' with ease! The map will also show you all the stores in a given location, try 'Hamilton' for the best results. Lastly, incase you ever forget your password, the app has a 'Forgot your Password' work flow which will easily get you back up and running!
This app was written almost entirely in Node/Express and with best practices kept through MVC design patterns. Express handles how we specify routes, and from there we pass the code along to controllers
who run the middleware for each function we use.
The controllers
use the exports
system to control the models as well as render the views. For a templating engine, we use pug
since it integrates with helper functions, and javascript seamlessly. The models are specified in MongoDB
and with the help of the mongoose npm library, wire the data throughout the whole application.
To load sample data, run the following command in your terminal:
npm run sample
If you have previously loaded in this data, you can wipe your database 100% clean with:
npm run blowitallaway
That will populate 16 stores with 3 authors and 41 reviews. The logins for the authors are as follows:
Name | Email (login) | Password |
---|---|---|
Jatin Hazrati | [email protected] | jatin123 |