Skip to content

Latest commit

 

History

History
106 lines (72 loc) · 6.57 KB

README.md

File metadata and controls

106 lines (72 loc) · 6.57 KB
onyva logo

Onyva

Screen Shot 2023-02-22 at 8 24 13 PM

forthebadge forthebadge

Project Overview

Onyva is an innovative travel application that aims to simplify the process of planning a trip and enhance the overall travel experience for users. With Onyva, users can easily create personalized itineraries for their trips, complete with local recommendations for restaurants and tourist attractions. Users can also invite their friends to join them on their trips and manage their trip details together.

At its core, Onyva is committed to providing an exceptional travel experience for users, and we believe that our application can be a valuable tool for anyone looking to plan their next adventure.

Organize your upcoming travel plans with Onyva!

This repo is a frontend application built on Rails which consumes our Onyva Backend API endpoints in order to display our data.
The backend repo is available here.

Learning Goals

  • API building and consumption
  • Use of an external OAuth provider to authenticate users
  • Implement a production-quality user interface using Bootstrap or other common CSS styling framework

This application was designed according to the project specs here.

Prerequisites

Running this project requires:

  • Rails 5.2.8
  • Ruby 2.7.4
  • External APIs:
    • This application required external API keys which are stored in a .env file at the top level of the program directory
      • API keys can be requested but must be named as follows:
      • You will need to create a project in the Google Cloud Console, enable the Google OAuth 2 API, and create a client ID and client secret.

Installation

  1. Fork and clone this repository
  2. cd into the root directiory
  3. bundle install
  4. rails db:{drop,create,migrate,seed}
  5. Run the test suite with bundle exec rspec
  6. Pull down the Back-End repo. Set up instructions are in that repository's README. Do not nest this inside your front-end repository.
  7. Start the local server by running rails s
  8. Visit the app on localhost:3000 in your web browser.

Usage

To use the application, go to http://localhost:3000 in your web browser. You should see the homepage, which displays a list of your trips if you are logged in, or a login/signup form if you are not.

User Authentication

This application uses Google OAuth 2 for user authentication. When you click the "Sign in with Google" button on the homepage, you will be prompted to log in to your Google account and authorize the application to access your basic profile information. Once you are authenticated, you will be redirected back to the application and logged in.

Creating, Editing, and Deleting Trips

To create a new trip, click the "Create Trip" button on the homepage. You will be taken to a form where you can enter the details of your trip, such as the name, destination, and dates. Once you submit the form, your new trip will be added to the list on the homepage.

To edit a trip, visit the trip details page and click the "Update Trip" button. You will be taken to a form where you can update the trip details. Once you submit the form, the trip will be updated.

To delete a trip, visit the trip details page and click the "Delete Trip" button. You will be riderected to your home page.

Inviting Users

To invite a friend to your trip, click the "Invite friends" button on the trip page. You will be taken to a form where you can enter the email of the user. Once you submit the form, the trip will be added to your friends trip list where they can accept or decline the invitation.

Screenshots

Screen Shot 2023-03-03 at 1 33 52 PM

Screen Shot 2023-03-03 at 1 33 58 PM

Screen Shot 2023-03-03 at 1 34 39 PM

Screen Shot 2023-03-03 at 1 34 52 PM

Contributors

🎓 All participants in this project are graduates from the Turing School of Software & Design.

👩 Anhnhi Tran, PT, DPT
      GitHub: @anhtran811
      LinkedIn: anhtran8

👩 Kaylah Rose Mitchell
      GitHub: @kaylahrose
      LinkedIn: kaylahrose

👦 Matisse Mallette
      GitHub: @MatisseMallette
      LinkedIn: matisse-mallette

👦 Braxton Eddings
      GitHub: @beddings81
      LinkedIn: braxton-eddings

👦 Alastair Lloyd
      GitHub: @Adrlloyd
      LinkedIn: adrlloyd

Contributing

If you would like to contribute to the project, feel free to fork the repository and submit a pull request. Please make sure to follow the project's coding conventions and testing guidelines.