Skip to content

IST440 Capstone Project - Shared Umbrella Application

License

Notifications You must be signed in to change notification settings

zeyingli/waterproof

Repository files navigation

Waterproof

Waterproof is an umbrella sharing mobile web application, in which it will provide clients a convenient way to rent umbrellas either on or off campus. Users will be able to rent or return umbrellas with using our application that incorporates with any authorized kiosk stations around campus.

StyleCI Scrutinizer Code Quality License: MIT

Table of contents

Introduction

Executive Summary

This final deliverable provides a technical overview and showcasing our implementation of our application Waterproof. This application will be modeled after the idea of Citi Bikes, but instead will be for umbrellas. Citi Bikes has changed the way of travel around big cities and college campuses, and docking stations with rentable umbrellas, integrated with a mobile app and easy to use kiosk could change campus and city life for students and commuters alike.

The purpose of this application is an umbrella sharing system, in which it will provide clients a convenient way to rent umbrellas either on or off campus. We will be promoting a shareable economy which is rising quickly in the United States and overseas. Soon, shareable economies will be throughout the United States, which allows us access to a currently untapped market to enhance and improve the lives of others by giving individuals and efficient and easy way to keep out of the rain. We also understand that this is a multi-purpose application and could embrace more fields.

Background

Our project attempts to integrate modern technologies to solve the urgent needs of unexpected circumstances such as rainy and windy days. By creating a “sharing-economy” system, we have the opportunity to improve living quality of campus life in a sustainable manner. At the moment, we do not know of any umbrella sharing systems in the United States, and our only North American competitor is UmbraCity, who currently only have locations in British Columbia, Canada. They have a similar model that we do, for instance they have implemented kiosks of rentable umbrellas scattered throughout some cities in British Columbia, Canada. Something that they have not integrated, however, is an application for this service. This is where we want to implement mobile technologies and make this shareable product easier to access.

The opportunities for this product in the United States are endless due to the fact that many applications that are similar to ours have yet to make a profound impact here in the United States. College campuses are the biggest opportunity for us because we have a great point of view of why this is needed, individually we have run into problems where we needed an umbrella and did not have one to use. If we assume most college students have experienced a similar issue, then this market is clearly full of untapped potential. The opportunity for us to implement this on college campuses is there for the taking and we plan on making the most efficient, easy to use, and affordable method for college students to not get caught in the pouring rain.

Features

A Laravel 5.7.x with minimal Bootstrap 4.0.x project.

Waterproof Features
User Registration and Activation
Marking Kiosk Stations on the map
Order History and Transaction Tracking
User Registration with email verification
User Password Reset via Email Token
Built on Laravel 5.7
Built on Bootstrap 4
Uses MySQL Database
Uses Artisan to manage database migration, schema creations, and create/publish page controller templates
Dependencies are managed with COMPOSER
Laravel Scaffolding User and Administrator Authentication.
Make use of Laravel-Admin Laravel-Admin
Make use of Googlmapper Google Maps Helpers
Google Maps API v3 for User Location lookup and Geocoding
Make use of Agent User Agents Detecter

Dependenies

OS: Debian-based Linux OS (x64), such as Debian 8 Jessie, Ubuntu 16.04 Xenial
Web: Apache HTTP 2.4 with rewrite and ssl module enabled.
Language: PHP 7.2+
Database: MySQL 5.7.13 InnoDB engine Collation utf8mb4
Library: git, curl3, php7.2, libapache2-mod-php7, php7.2-common, php7.2-fpm, php7.2-cli, php7.2-curl, php7.2-json, php7.2-readline, php7.2-fileinfo, php7.2-opache, php7.2-gd, php7.2-imagick, php7.2-mysql, php7.2-mcrypt, php7.2-mbstring, php7.2-intl, php7.2-xml, php7.2-pdo, php7.2-ctype, php7.2-zip, php7.2-pdo, and the latest version of OpenSSL PHP Extension.

Installation Instructions

  1. Run git clone https://github.com/zeyingli/waterproof.git waterproof
  2. Create a MySQL database for the project
    • mysql -u root -p, if using Vagrant: mysql -u homestead -psecret
    • CREATE DATABASE waterproof CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;;
    • \q
  3. From the projects root run cp .env.example .env
  4. Configure your .env file
  5. Run composer update from the projects root folder
  6. From the projects root folder run php artisan key:generate
  7. From the projects root folder run php artisan migrate
  8. From the projects root folder run composer dump-autoload
  9. Compile the front end assets with npm steps or yarn steps.

Build the Front End Assets with Mix

Using NPM:
  1. From the projects root folder run npm install
  2. From the projects root folder run npm run dev or npm run production
  • You can watch assets with npm run watch
Using Yarn:
  1. From the projects root folder run yarn install
  2. From the projects root folder run yarn run dev or yarn run production
  • You can watch assets with yarn run watch

Optionally Build or Clear Cache

  1. From the projects root folder run php artisan config:cache
  2. From the projects root folder run php artisan config:clear

Screenshots

Index Sign-In Sign-Up Activation Terms Menu Account Rewards Program Add Balance Order History Forgot Password Reset Password Kiosks Map Pickup Kiosks List Pickup Kiosk Details Counting Timer Order History In Progress Dropoff Kiosks List Dropoff Kiosk Details Dropoff Charged Order History Completed Dropoff Insufficient Fund Pay Overdue Insufficient Fund Unable Rent Overdue Order Pay Overdue Order Overdue Order Paid Off Help Center Detailed Terms

License

Waterproof is licensed under the MIT license.