Giter Club home page Giter Club logo

heidiwu3388 / ev-charge-n-go Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hannybear88/-project-2-ev-charge-n-go

0.0 0.0 0.0 3.53 MB

This app allows owners of private home EV chargers to rent out their EV chargers to others. On the other hand, it allows EV owners to view available chargers shared by location, and to make reservations.

Home Page: https://ev-charge-n-go.herokuapp.com/

JavaScript 57.36% CSS 2.91% Handlebars 39.72%
bootstrap css express-js html javascript node-js dotenv express-handlebars express-session mysql2 sequelize express-session-sequelize bcrypt google-maps-api heroku-deployment json npm

ev-charge-n-go's Introduction

EV Charge n Go

Project #2

Project Description

This app allows owners of private home EV chargers to rent out their EV chargers to others. On the other hand, it allows EV owners to view available chargers shared by location, and to make reservations.

Table of Contents

User-Story

  • AS A developer who is interested in supporting Californias initiative towards more electric vehicles
  • I WANT an EV Charge N Go site to support the efforts in reducing gas emmissions and increasing electric vehicle use
  • SO THAT more individuals can have access to owning or using an electric car regardless of installing a home charger themselves or needing to own a home to access
  • AND SO THAT while traveling out of town, finding stations to reserve in advance to ensure the ability of electric vehicle use

Acceptance Criteria

  • GIVEN a EV Charge N Go Site
  • WHEN I visit the site for the first time
  • THEN I am presented on a homepage, landing site, which includes a map and a zip code search form
  • WHEN I enter my zip code
  • THEN I am prompted to sign up or login in
  • WHEN I sign up
  • THEN I must provide a valid email address and password
  • WHEN I am done signing up
  • THEN I am automatically directed to the home page
  • WHEN I already have an account
  • THEN I can login using an email and password
  • WHEN I am logged in and my username appears on the top left side of the home page
  • THEN I can select either to view My Charging Stations, My Reservation, search for a station via a zipcode, or add a charging station (+ Station)
  • WHEN I want to make a modification to My Reservations
  • THEN select Cancel Reservation to remove from que
  • WHEN I add a charging station
  • THEN I have to fill out the station form with station name, station address, station type, and plug in types
  • WHEN I go to My Charging Stations
  • THEN all the charging stations I own will appear in one page
  • WHEN I want to make a reservation
  • THEN I have to search for a station and click on reserve to get redirected to fill out the reservation form with date and time of reservation
  • WHEN the reservation is made
  • THEN in My Reservations detail station information, along with date and time of reservation will appear
  • WHEN I select Logout
  • THEN I am logged out of the site

Motivation for Development

  • We all came to an agreement that EV Charging isnt easily accessible and a gap for EV owners and station owners exists. This application allows personal station owners to advertise their stations for reservations and in parallel supporting EV ease of access initiative to a wider range of the community for ease of access supporting EV's future mission.

Process

  • Topic / Project defined
  • Defined a high level breakdown of the project
  • Worked together creating the models
  • Models helped define the various work packages and tasks required to complete the project
  • Assigned tasks to team members
  • High collaboration throughout
    • Working together via zooms, meetings, slack, etc to help with suo coding and/or brainstorming how to effectively move ahead in the process
  • Set team goals and reasses as needed throughout

Technologies Used

Technologies was used to help define tasks, schedule, and ownership throughout the different phases of the project.

Technologies Technologies Technologies Technologies Technologies Technologies Technologies Technologies Technologies Technologies Technologies Technologies Technologies Technologies Technologies Technologies Technologies Technologies

Challenges

  • Trim error in reservation and station javascript

    -- reservation.js

    -- station.js

  • Adding time duration for reservations
  • Rendering registration
  • Correct station id wasn't showing
  • Google map API key - has to appear in html, not in dotenv (apply for restricting api key)

Successes

  • Connecting Google Maps API to application
  • Connecting the logged in user to their reservations while also displaying station information
  • Having various icon types for different plug in and level type chargers registered
  • Defining the flow and linkages between the various stages
  • Connecting the station registration

Usage

The following screenshots show examples of the interaction and options presented to the user when application is initiated.

Homepage:

showing homepage

Searching:

showing search function

Below shows the key to the map and what the different icons/numbers represent in the map:

showing key to the map icons

In order to make a reservation, click on the "Reserve Station" as seen in image:

showing reserve station

Required Login to make new reservation(s) or register a new charging station:

showing login table

If no account has been created, a signup option is available on the bottom of the login where the sign up page will appear:

showing signup table

Detail Reservation:

showing detail reservation

Viewing User Reservation(s) "My Reservations":

showing reservations for user

  • To make modification to reservation and remove click on "Cancel Reservation":

showing how to cancel reservation

  • If no reservations have been made by the user the following will appear:

showing no reservations view

Viewing User Charging Stations "My Charging Stations":

showing charging stations owned by user

Registering a new charging station:

showing how to register a charging station

Logout:

showing where logout is located

Goals for Future Development

Short Term Goals

  • Ability to delete prior reservations
  • Start and finish time reservation
  • Reservation Counts
  • Owner view of reservations
  • Map key
  • Send a "forgot password email"
  • Send a "forgot username email"

Long Term Goals

  • Station Reviews
  • Send welcome email to user
  • Ability to chat with owner
  • Calendar view for station
  • Filter options such as price, charger types, etc.

Support

If you need support or have any questions about the repo, please open an issue or contact us via email at [email protected].

Deployed Site

Deploy

You can find more of our work on our GitHub, hannybear88, heidiwu3388, TrianaD, fmaldmed.

Tasks and Roles

Hannah Chung:

Focus: Login, Logout, Signup,myReservations
Support: Reservation, README, Presentation, Trello

Triana Deguzman:

Focus: Reservations, Reservation Seeds
Support: README, Presentation, Trello Coordination

Fernando Maldonado:

Focus: Stations new and myStations 
Support: Geo coordinates 

Heidi Wu:

Focus: Homepage, Google Maps, User and Station Seeds
Support: myStations, and across all files

Team Collaboration:

db, models, team pseudo coding, reviewing, presentation runs

Credits and Contributors

  • Hannah Chung
  • Triana Deguzman
  • Fernando Maldonado
  • Heidi Wu

ev-charge-n-go's People

Contributors

heidiwu3388 avatar hannybear88 avatar trianad avatar fmaldmed 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.