Giter VIP home page Giter VIP logo

packagedefend's Introduction

Module Five Final Project: packageDefend

Table of contents


General Information

This project, the capstone of MOD 5 of Flatiron School's Immersive Software Engineering course, is a web application powered by a Ruby on Rails backend used as an API, and a React.js frontend. The application is called packageDefend, a website created to combat the growing problem of porch pirates. It does so by connecting those expecting a delivery of packages, but unable to receive a package personally, with individuals, such as stay-at-home moms and dads, others that work from home, etc. that can accept delivery, and thus, be a packageDefender.

The site allows users to create an account, search for packageDefenders on a map, create an order, and schedule meetings to pickup their packages. Other functionalities include:

  • Edit user account info
  • View order history
  • Edit order info
  • Favorite pacakgeDefender listings (front-end only- i.e. data does not persist)

Technical Information

This application was written in Ruby using Rails as an API. The frontend was written in React, using class, styled, and functional components. No state management tools (e.g. Redux) were used.

Backend Details

The application uses Rails as an API with with a Postgres database. It uses the following Ruby Gems:

  • bcrypt: A secure hash algorithm designed by The OpenBSD project for hashing passwords.
  • Active Model Serializer: to generate JSON responses from frontend client requests.

Frontend Details

A single-page React.js application serves as the frontend. Other techinical details include:

  • React Bootstrap: for reusable component generation, such as buttons, forms, and containers.
  • Mapbox: to generate the maps where each packageDefender is located
  • React Router: for page routing and user experience.
  • Various types of components (class, styled, functional using hooks) mainly for educational purposes.

Known Defenciencies

  • Favorites Model: only has backend functionality
  • Comments Model: was not implemented
  • Session terminated on refresh

Demo

Click the video image below to be redirected to a demo video.

IMAGE ALT TEXT HERE

Contact

Saul Feliz LinkedIn

packagedefend's People

Contributors

saulhappy avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

grantferowich

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.