-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ClemenBykes MVP #266
Open
chrvn
wants to merge
276
commits into
deadroxy:master
Choose a base branch
from
elenaywang:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
ClemenBykes MVP #266
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Added Links
…ike signin, signout, signup
…ike signin, signout, signup
rent bike page changes to return bike page when a user has an active rental. also tweaked styling of station sidebar.
validates that phone number is a number with 10 digits
Finalized styling on all pages including forms, buttons, and views
Fix return button
…story Removed current rental from rental history. It was affecting the tabl…
…utes_debug Updates branch with master code
Fixed most formatting issues with forms
User permissions/routes debug
Added example user review, fixed layout for profile page
Fix form formats
to map page, added button to rental history page that only shows if user is logged in
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
DEV ENV
git clone [email protected]:elenaywang/valetbike.git
to clone the repository at this link: https://github.com/elenaywang/valetbikebundle install
to install all necessary dependencies (which includes thedevise
andmapbox-gl-rails
gems and more).rake db:migrate
to run migrations.rails c
to open the Rails consoleStation.not_geocoded.each( |station| station.geocode && station.save! }
to add the latitude and longitude values to the stations tableexit
to close the Rails consolerails assets:precompile
to precompile assets.MVP FUNCTIONALITY
User Functionality:
Our MVP allows users to create accounts or sign in to existing accounts, and while signed in, users are able to edit their account information or cancel their accounts. The home/profile page contains buttons to views containing user-specific information and forms, such as rental history, payment, and account editing. Guest users (users who are not signed in) are unable to use the rental service or access specific views, such as the profile view or forms for creating/editing payment information. If an unauthenticated user attempts to access those resources, they will be prompted to sign in.
Rental Functionality:
Users are able to rent a bike from a specific station, and later return that bike to a specified station. They can return that bike from two different places across the site: from the current rental page and from the Rent Bike/Return Bike page. Upon renting a bike, a code is generated for the user to officially unlock the bike via kiosk. The total cost for and duration of the ride is calculated once the user has returned their bike. As mentioned above, rental history is also viewable. Each user may only have one rental at a time.
Map Functionality:
The interactive map augments rental functionality by providing users a visual for the stations we have around Nipmuc Notch. The view the map is displayed on additionally has a sidebar with detailed information on each of our stations, including the address and a record of how many bikes are currently docked at each station. This sidebar has buttons that direct users to the view for creating a new rental (if the user has a currently active rental, those buttons will instead take users to the view for returning a rental).
Payment Functionality:
Users are able to submit their credit card information through the button available on the user profile view, or when prompted when making a rental (if a user attempts to make a rental without recorded payment information, they are redirected to the payment creation form.) While our payment feature does not actually interact with a user's bank account, it contains validators to ensure the user is submitting valid credit card information on either the new or edit forms. Each user may only have one form of payment information at a time. Upon account cancellation, associated payment information is also destroyed for security reasons.
Authentication Functionality:
As mentioned, certain views are only available to logged in users. There are additional authenticators and redirects in place to prevent users from accessing information belonging to other users' accounts, or from accessing information about objects not associated with their account.
Informational Pages:
ClemenBykes features a page on our pricing model with a button that directs you to the map and list of stations for initiating a rental. The home page also contains a concise visual guide on how to use our service. We also have an About/FAQ through which users can learn more about the ClemenTeam and how our service works.
UI/UX:
Our website has a responsive and user-friendly UI. The navigation bar in the header maintains easy access to key features of ClemenBykes, and our views generally prioritize readability, usability and concision. We also have engaging and cohesive visuals/branding, and a distinctly playful personality throughout our website.
CHANGES MADE
User Accounts
We have added additional fields for user account information and implemented authentication checks for different features to ensure only logged in/appropriate users can access them. We have added a profile page for users to modify account or payment information and view rental history through.
Rental
Users can now return rentals. The cost of the rental is calculated based on duration upon its return and stored in the rental object. User's ability to set rental start time has been removed. Checkout and return dates and times have been made accurate. If there are 0 bikes at a station, users can't rent a bike from that station. In general, views related to the rental feature are more descriptive and user-friendly. If users have an active rental, the user profile page will display a button to view it.
Map
The map sidebar with station information is permanently displayed. In addition the number of bikes listed for each station will change when rentals are made and returned. The page conditionally changes between letting users either rent or return their bike depending on active rental status. Layout has been modified, and a map has been added to the overall website homepage. CSVs for stations and bikes have also been cleaned up.
Payment Functionality:
We have added a payment feature to our product and functionality for adding new payment and editing existing payment. New routes, forms, validators, and controller logic have been added to accommodate for this feature. This feature does not actually charge payments to users' bank accounts, but the cost of each rental is saved upon returning the bike in each rental object.
UI/Front-end
The website layout implements a CSS grid to make the website more responsive. We have also added hand-drawn images and animations created by team members. Many views also contain buttons to help users access other relevant pages (ex: user profile has buttons for editing account/payment info and seeing rental information). Forms have been standardized with a specific format. In general, website styling and visual direction has become more visually engaging, and CSS / JavaScript have been added when needed to individual and specific views.
Routes and Security
Routes have been added for the payment feature. We have implemented authenticators and redirects to prevent users and guests from accessing views they are not authorized to. Payment objects are also destroyed if their associated user account is canceled (rental history is maintained for comprehensive record keeping).
Informational Pages:
Additional information has been added to the homepage on how to unlock and return bikes. We have also added an FAQ/About page so users can learn more about the ClemenTeam and the ClemenBykes service.
Explore Page Pitch
We initially planned to implement a community-based feature where users could submit and rate their favorite trails to bike on, but we ran out of time and decided to focus on fully debugging our core features. We added a text description of our vision in the page that would've contained the Explore feature's homepage.
WALKTHROUGH
Return the bike either by choosing a station to return to on the map page (Return Bike in the navigation bar; defaults to the station you chose to return to) or by returning from the Current Rental page (defaults to the station you checked out from). Completing the return will display all rental information again, and a button to view your comprehensive rental history.
Click on 'Pricing' in the header to view our pricing model. The bottom of the page also has a button to go to the map page to select a station and initiate a rental.
Click on 'About' to read our team bio and view our FAQ. Click on each individual question on the FAQ to expand it and see our answer.