Giter VIP home page Giter VIP logo

citygo-frontend-angular's Introduction

CityGo Logo

Introduction

CityGo allows users to find vacation routes for any city. It is integrated with Google Maps to allow users to navigate the trip on their device.

Tech Stack:

  • The frontend of this application uses Angular, Angular Material, and Tailwind.
  • The backend uses Node.js and PostgreSQL for storing the trips. To view the backend implementation, see this repo.
  • APIs used:
    • Google Maps: For place info and navigating trips
    • Unsplashed: For images of trip places
    • Data.gov: The backend parses a .csv file containing every US city, and stores it in the database.
      • This prevents excessive calls to the Google Maps API when using city data.
Image 1 Image 2 Image 3 Image 3

Home Page

The home page displays the most popular trips.

Image 2

 
Use the search bar to filter trips by city

Image 2

 
The website displays a shimmer effect when loading data

  • This is done by checking if an input property is null

It also comes with a dark mode toggle

  • This is done by using the Tailwind tw-colors plugin, which lets you use one class for multiple theme palettes.
Image 1 Image 2

 
The website is responsive, and uses a mobile-first design.

  • The navbar links are placed in a hamburger-style menu

Site responsiveness

Trip Overview Page

View the details of a trip in the overview page.

  • A preview of the destinations can be viewed in the image carousel at the top.

Site responsiveness

Towards the bottom, you can view the trip itinerary in Google Maps.

Site responsiveness

Finally, by clicking "Start Trip" you can begin navigating the itinerary on your mobile device.

  • The button uses a Google Maps "deep link" containing the trip itinerary.
  • When clicked on, it opens the Google Maps app on your device.

Site responsiveness

Creating a Trip

Users can create a trip by filling out a form.

  • The trip creation DTO is parsed by the backend to add addresses and images to the trip using the Google Maps and Unsplashed APIs.

Site responsiveness

The destinations can be reordered by dragging and dropping.

Site responsiveness

A custom rating input component is used for the duration and price fields.

  • It is accessible, allowing you to change the value by using the arrow keys on a keyboard.

Site responsiveness

Site responsiveness

citygo-frontend-angular's People

Contributors

alter5 avatar

Stargazers

 avatar  avatar

Watchers

 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.