Giter Club home page Giter Club logo

vacaypay's Introduction

README

splash_page

Table of Contents

Introduction

VacayPay is a group project that was created as part of The Turing School of Software and Design's Backend Engineering Program. The application provides a means for a person to create a vacation, add participants and activities to the vacation, and also provide functionality so that the costs for the vacation are distributed correctly for each participant.

Initial Setup

Clone this repository to your computer. Once it has been cloned, run bundle. After bundling, run rake db:{create,migrate,seed}.

How to Use

To run the app locally, run rails s, and then navigate to localhost:3000. From the welcome page, the user can then click on the Register link if they are an unregistered user, or go the Log In link to sign in if they are a registered user.

A logged-in registered user can go to the My Vacations tab to view their upcoming vacations. This page will show the vacations and information about each vacation such as location, who the host is, and amounts owed/owing. Each of the listed vacations has a link, View Vacation, that leads to a show page for that individual vacation.

The individual vacation show page shows more details about the vacation, such as what activities are planned and who is partaking in the activities. There are also links for adding a new activity, and for adding participants.

The vacation show page also shows a Settle Up button for the activities that the user owes money on. The amount owed is displayed by the Settle Up button. Once the user clicks on the button, their funds are directed to the person who is owed money.

A logged-in registered user can also click the Create A Vacation link in the navbar, which will redirect to a form where a new vacation can be created. Once the information is submitted, the user is directed to a page where one can add an activity or invite participants.

A logged-in registered user has access to their profile page via a Profile link at the top of the page. The profile page shows information such as the user's email address and the bank account that they are using for the peer-to-peer payment functions.

A non-registered user will be directed to a registration page. This page takes in the basic information of first name, last name, email address and password. Once the user completes this page, they are registered with the site. They will still need to connect their payment information, however. They will see a button to Connect to Dwolla.

Clicking on Connect to Dwolla will bring up a form that gathers the necessary information required by the Dwolla service. When that information is entered, the user will be connected with Dwolla. The last step will be for the user to click on the Add My Bank Account button. This button will lead to a pop-up window that allows the user to enter in their banking information via a secure service from Dwolla. Once this step is completed, the user is fully registered with the application.

Testing

The application was created with RSpec. To run the test suite, enter rspec from the command line.

SimpleCov was used for monitoring testing coverage. VCR was used to record the results of API calls, and to limit the number of actual calls that had to be made.

The application uses the Dwolla payment service. Dwolla provides a robust sandbox environment for developers to test their applications. This application was developed entirely in that sandbox environment.

How to Contribute

If you would desire to contribute to the project, fork the project from the master branch. You can then make the changes you think are appropriate and submit a pull request. Please provide a detailed explanation in the pull request of what the problem or fix is.

Core Contributors

VacayPay was a four person project. The team members were Chi Tran, Earl Stephens, Ethan Grab and Jalena Taylor. Their GitHub links are:

Chi: [https://github.com/chitasan] Earl: [https://github.com/earl-stephens] Ethan: [https://github.com/Stoovles] Jalena: [https://github.com/jalena-penaligon]

Tech Stack

This application was built using Ruby version 2.4.1 and Ruby on Rails version 5.2.3. PostgreSQL version 11.1 was used for the database.

The database consists of 6 tables. The schema is shown below:

schema

vacaypay's People

Contributors

jalena-penaligon avatar stoovles avatar chitasan avatar earl-stephens avatar

Stargazers

 avatar

Watchers

James Cloos avatar

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.