Jamal Rjoul
2 min readMar 25, 2021

--

Sinatra Application Project For Flatiron School!

WELCOME TO EASYCOURIER!

I have been inspired to create this app by my workplace. At the time of writing this blog, I am working as an internal courier for my local council, and despite all the technological modernization that we have witnessed happen in essentially every industry, my local council, and more specifically their system for managing courier routes and deliveries, is still in the 20th century. And so I decided to do something about it and to put to use all I have learned so far throughout the bootcamp, to create a management system application for all the couriers within our department. Enter EasyCourier.

A route and address management system to help couriers complete their deliveries with timeliness and efficiency. With EasyCourier no delivery will ever be late again!

BUILDING PROCESS & TECHNICAL BREAKDOWN

The stack used to build this app is Ruby for the beck end, HTML and Erb for the front end, and Sqlie3 for the database. Sinatra has been used for designing all routes as well as connecting each route to it’s relevant view. The folders and files structure have been structured with the Coreneal Gem. The app will grant users, or in this case the couriers, the ability to create a courier account, user name and password secured with Bycrypt through the “has_secure_password” macro. Sessions have also been set in place in order to continuously validate and confirm that, as the user moves from one page to another, it is in fact the same user that logged in at the beginning of the session.

Once an account has been successfully created and saved in the database, the courier will now be able to create a route and the addresses with their own designate attributes, such as which days a route is to be completed, full addresses inclusive of postcode, contact details and any additional notes the courier may wish to attribute to a given route or address. The database, with the help of at the integrated association attributes, is also able to connect all 3 models (courier, route and address).

At any point the courier may wish to, he will be able to delete and or update all models, including his own account.

INSTALL INSTRUCTIONS

1. Go to the EasyCourier repository’ main page
2. Click on the green “Code” button and copy the repository link
3. Paste the link in your terminal followed by the commands shown below;

- git clone git@github.com:jamensky/EasyCourier-.git
- cd into the relevant root directory
- press enter
- cd easycourier- (make sure to include the dash (-) at the end of easycourier)

4. Run bundle install
5. And finally, run shotgun in your terminal and follow the given link to the browser page where you will be greeted with the EasyCourier sign in page.

EASY COURIER FEATURES

This is a CRUD application an therefore as a user will be able to;

  • Create an account secured with user ID and password.
    - Create routes and addresses.
    - Assign and remove addresses from related routes.
    - Read/view and update routes, addresses and couriers details.
    - Cancel your account as well as any route and address created.

Enjoy :)

--

--