Giter VIP home page Giter VIP logo

nextjs-uber-clone's Introduction

Uber Clone - Goober

Getting Started

Run the follow comands:

npm install

npm run dev

The app is already set with .env variables getting data from server.

Open http://localhost:3000 with your browser to see the result.

Technologies

This project was built with:

- NexJs 14 as both (Client and Server)
- Typescript
- Shadcn - UI + Tailwind
- Socket.io
- Postgres
- Prisma

Features

  • Rider and Driver view
    • Get users from server
    • Get socket comunication of ride requests
      • Comunicating the entire flow steps
    • Diferent ride flow states as:
      • [Rider]
      • Initial
      • Searching drivers
        • Automatically cancel search if any drive had accept the ride request when hit 30 seconds of searching.
      • Accepted ride by driver
    • [Driver]
      • Initial - No ride requets
      • New ride request
      • Accepted ride request
      • Driver can ignore a ride request
  • Google maps
    • See current initial user location if location is enabled on browser
    • See source and destination on map
    • See the route direction based on source and destination on map
  • Get ride amount configs from server
    • Calculate amount based in some configs
  • UI styles
    • For users pages
    • Fullscreen loader
    • User nav

Not Implemented

Features not implemented but that I thought were important requirements and I possibly do if I had more time.

  • Real-time location of driver car going to pick up the rider
  • Real-time location of driver car going to the rider's destination
  • Onboard step view when the rider is onboard of the car
  • Properly rider and driver pages by ID (currently is getting by type)
  • Ride payments table to separate the percentage app and driver amount into an isolate table
  • Small UI/UX improvements as well, trying to get the most delightful UX.
  • Responsive styles

App Recommendations

  • Enable Geolocation on browser

  • At the first screen you have two buttons which each one will open a new tab. For /rider and for /driver. Homepage

Screenshot 2024-03-04 at 16 38 23
  • So, for you be able to get a good view of the app communication, I recommend to split the two tabs as the follow image: Rider and Driver pages
Screenshot 2024-03-04 at 16 38 11

nextjs-uber-clone's People

Contributors

rbqdev 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.