Giter Club home page Giter Club logo

sharide_dart's Introduction

Sharide_dart

Sharide is an application that offers ride functinality for students at SJSU.

Functionality

  • The app offers people to sign up as either a passenger or driver
  • The matching algorithm, passenger only get matched if at least one of the driver is online
  • Once matched, passenger will go on to live tracking feature

Run the app on your computer

Make sure to install the following technologies first:

  1. NodeJS
  2. Flutter
  3. Android Studio and set up an Emulator `

Then run the app based on instructions below:

  1. To run backend, perform those steps in a terminal cd into the backend type 'node index.js'
  2. To run frontend, perform those steps in a terminal
    • go to the Providers.dart in the frontend (sharideapp/Providers.dart)
    • change the authority ip address part to your local ip address, which is the local host
    • make sure the specified port is not used (3000)
    • cd into Sharide_dart in a terminal
    • type 'flutter run'

Architecture

The file architecture is as below SHARIDE_DART

- backend

    RestAPI   (the REST APIs)
    
    test      (test cases for those APIs)
    
    index     (main entry point of the backend)
  
- sharideapp

    lib
      
      Controllers   (Payment Controllers)
    
    screens           (where all the frontend screens locate)
    
    main              (main entry point of the app)
    
    Providers         (store the state of the app)

Backend

  • The backend consists of REST APIs and test case for those APIs
  • The REST APIs format is specify in index.js
  • The specific APIs are in RestAPI folder
  • The tests are those APIs are in test folder

To run backend test:

  1. Open a terminal and cd into backend
  2. Run command: npx jest /test/[car1].test.js Change the file name to your perspective tests

Some links to read about testing:

https://www.mongodb.com/languages/express-mongodb-rest-api-tutorial

example of testing https://www.npmjs.com/package/supertest

Frontend

  • For frontend we use Flutter
  • The architecture is specify as above
  • The screens folder contains all the screens for our app
  • Providers.dart is the file where we store all the state of the app
  • For this project we used Riverpod as our state management

sharide_dart's People

Contributors

khainl1110 avatar daniellee97 avatar nightstrikar avatar shyla-subrahmanya avatar shylasubrahmanya avatar

Stargazers

 avatar

Watchers

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