/ javascript

Dinner Dash - Day 0

So for a first new project, I figured I would work on one I had sitting in my bookmarks for what seemed like an age.

The Original Project

Dinner Dash is a set of project requirements created by JumpstartLab to test people who have been following their set of Ruby and Ruby on Rails tutorials. They provide a set of requirements and expect a team of people to work through it as though it were a real life project, following proper project management methodology and techniques.

My take on it

Instead of doing it in RoR (nothing personal to the framework I am just focusing on JavaScript based frameworks instead) I chose to build the app using the MERN framework.

MERN for those that don't know stands for the following:

M - MongoDB - DB
E - Express - API Setup
R - React - Frontend Library
N - NodeJS - Server/JS Runtime

I have opted for this framework to allow me to take advantage of the latest tech which is used on live projects across the web. It also gives me a great opportunity to explore elements of the individual components in a much higher detail than I have previously.

The App Requirements

The base expectation is to build a system which would allow customers to order food and let restaurant owners/administrators to handle and finish those orders.

To meet this, it will need a way for users to log in and create baskets as well as a way for them to submit orders and payments.

It will also need a way to define users as administrators and lock off relevant sections of the application to be only accessible to administrator users.

Tracking the Requirements

To help track the project I am going to use Waffle.io. I have used this before and will keep using it as it has an excellent integration with Git and Github as well as some handy charts and stats to check the project is staying on track.

I should only need to break the requirements down into user stories as JumpstartLabs has already broken the requirements down into what users should and shouldn't be able to do and even how the data should be structured.

Challenges

There are a couple of interesting elements which are considered extras in the original project these are outlined below:

  • Full-text search - Allow users to search for items.
  • Time to prepare - Allow users to predict how long their order will take to arrive.
  • Sales - Allow administrator users to declare sales for either individual items or entire categories.
  • Reviews - Allow users to review stores and products.
  • Phone confirmation - Admin users will be rung on a successfully paid order and given the option to accept or deny the order using their phone keypad.

I will add these to the project as they look interesting and would give me a chance to push myself outside of my comfort zone and work with some new APIs.

Summary

This should be a fascinating project which will allow working with a lot of new technologies. Stay tuned for more.

Header Photo by Ilya Pavlov on Unsplash

Chris Gray

Chris Gray

Formerly a QA/Test Engineer, I have decided to progress further down the path of development. You can find my ramblings here as well as any new projects I work on.

Read More