Giter Club home page Giter Club logo

ubibike-server's Introduction

NOTE: This is only server API for the UbiBike project, you can see here the Android application (client).

UbiBike Server

The goal of this project is to develop a distributed mobile application, which aims to provide a set of functionalities to cyclists in urban centers. The target plataform for UbiBike is Android >= 4.0. Wifi Direct will be used for wireless communication.

More information in Project Report or Project statement.

alt text

To develop this server REST API we used Spring Framework.

Executing

cd server
./gradlew build
java -jar build/libs/server-0.0.1-SNAPSHOT.jar

Endpoints

API Base URL: http://localhost:8080

Users

HTTP Verb /users Returns
GET List all users 200
POST Create a user account 201 - Location header with /users/{userid}
HTTP Verb /users/{userid} Returns
GET Get information of specific user
HTTP Verb /users/login Returns
POST Login the user - compare the passwords 200 - if login successful and 406 if isn't. And 404 if user not found
HTTP Verb /users/{userid}/validatePointsReceived Returns
POST Validate the HMAC for a particular tuple 200 - if it's valid and the actual points of the correspondent userId, 406 if isn't.

Trajectories

HTTP Verb /users/{userId}/trajectories Returns
GET Get all user trajectories
POST Create a new trajectory related a user
HTTP Verb /users/{userId}/trajectories/{trajectoryId} Returns
GET Get information of specific station

Stations

HTTP Verb /stations Returns
GET Get all stations
POST Create a new station
HTTP Verb /stations/{stationId} Returns
GET Get information of specific station
HTTP Verb /stations/findByName?name={user_input} Returns
GET Search in station by a station name
HTTP Verb /stations/{stationId}/bookingBike Returns
GET Book a bike in a specific station
HTTP Verb /stations/{stationId}/bikeReturned Returns
GET Bike returned in a specific station

Contributions

NOTE: This project is a culmination of work of the following members:

ubibike-server's People

Contributors

carlosfaria94 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

mahhaoussama

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.