Skip to content

This project is a Rails based app built as an interview challenge project. Its intention is to maintain up-to-date data using a given resource and manipulate the received data into human readable formats for viewing online or in print.

Notifications You must be signed in to change notification settings

defoebrand/parcel-challenge

Repository files navigation

This project is a Rails based app built as an interview challenge project. Its intention is to maintain up-to-date data using a given resource and manipulate the received data into human readable formats for viewing online or in print.

Parcel Challenge

Project Description

The challenge was to synchronize a JSON object from an external source on a nightly basis and display this data to the User. In order to do so, a database must be established to allow the User to view it asynchronously, instead of calling for the data at the User's discretion. Users need no interaction with the database, aside from viewing, so no functionality exists at this time that allows Users to change the stored data. From the display, Users should be able to view, filter, and select any parcel machine to be viewed online or exported in excel format.

screenshot screenshot

Features

  • Daily data update
  • Index view of all parcel machines
  • Display view of individually selected parcel machine
  • Option to export filtered data to excel format
  • Option to export selected data to excel format
Coming Features
  • Button to pull new parcel machine data from location API

Built With

  • Node.js / Yarn
  • Ruby / Ruby on Rails
  • JavaScript ES6 / HTML / SCSS
  • Bootstrap

To Use The App

Enter filter parameters to find the parcel by name or zip. Once your desired parcel is found, click the link to view more information. Click the reset button to clear search filters. Click the export button on any screen to save the displayed data to an excel sheet.

Getting Started Locally

Prerequisities

To get this project up and running locally, you must have the packages necessary to run Ruby on Rails already installed on your computer or be able to install them.

Step 1
Navigate your terminal to the local folder where you want the repository to be cloned to and run git clone https://github.com/defoebrand/parcel-challenge.git.

Step 2
Enter the project directory by running cd parcel-challenge.

Step 3
Prepare the project dependencies by running bundle i.

Step 4
Initialize the database by duplicating the database.example.yml file, naming it database.yml, and adjusting it to your local settings.

Step 5
Setup the database by running rails db:setup followed by rails db:migrate.

Step 6
Initialize scheduled tasks by running whenever -w --set environment=development.

Step 7
Pull initial Parcel Machine location data by running rake import:locations.

Step 8
Start the Rails server by running rails s.

Step 9
Navigate to http://localhost:3000/ in a browser of your choice to see the application running.

Testing

This project uses RSpec for testing Rails features.

To run tests, open a terminal inside the project's root directory and enter rspec

Author

👤 Brandon Defoe

🤝 Contributing

Our favorite contributions are those that help us improve the project, so please leave an issue or a feature request if you have any suggestions!

Feel free to check the issues page to either create an issue or help us out by fixing an existing one.

Show your support

If you've read this far....give us a ⭐️

About

This project is a Rails based app built as an interview challenge project. Its intention is to maintain up-to-date data using a given resource and manipulate the received data into human readable formats for viewing online or in print.

Topics

Resources

Stars

Watchers

Forks