Coder Social home page Coder Social logo

bringeee-api's Introduction


Bringeee

Final Project Capstone Program Immersive Alterra Academy
Explore the docs Open API »


💻 About The Project

Bringeee adalah sebuah aplikasi kargo untuk mengangkut barang dengan 1 truck. Harga untuk sebuah order dihitung berdasarkan jarak dari lokasi pengambilan order hingga ke tujuan pengiriman.

Berikut fitur yang terdapat dalam Bringeee :

🙎 Customers

Di Customer terdapat fitur untuk membuat Akun dan Login agar mendapat legalitas untuk mengakses berbagai fitur lain di aplikasi, terdapat juga fitur Update untuk mengedit data yang berkaitan dengan customer, serta fitur delete berfungsi jika customer menginginkan hapus akun.

Feature Customer Endpoint Param JWT Token Fungsi
POST /api/customers - NO Melakukan proses registrasi customer
POST /api/auth - NO Melakukan proses login customer
GET /api/auth/me - YES Mendapatkan informasi customer yang sedang login
PUT /api/customers - YES Melakukan update informasi customer yang sedang login
DEL /api/customers - YES Menghapus customer yang sedang login
POST /api/customers/orders - YES Membuat sebuah order
POST /api/customers/orders/estimate - YES Melihat perkiraan harga sebuah orderan
GET /api/customers/orders status order YES Mendapatkan semua order berdasarkan status order customer
GET /api/customers/orders/{orderID} orderID YES Mendapatkan detail sebuah order customer
GET /api/customers/orders/{orderID}/histories orderID YES Mendapatkan timeline dari sebuah order
POST /api/customers/orders/{orderID}/confirm orderID YES Mengkonfirmasi sebuah order jika terjadi penyesuaian harga dari admin
POST /api/customers/orders/{orderID}/cancel orderID YES Membatalkan sebuah order
POST /api/customers/orders/{orderID}/payment orderID YES Memilih jenis pembayaran yang akan digunakan
POST /api/customers/orders/{orderID}/payment/cancel orderID YES Membatalkan jenis pembayaran
GET /api/customers/orders/{orderID}/payment orderID YES Mendapatkan jenis pembayaran yang digunakan oleh customer
🚚 Driver

Di Driver terdapat fitur untuk membuat Akun dan Login agar mendapat legalitas untuk mengakses berbagai fitur lain di aplikasi, terdapat juga fitur Update untuk mengedit data yang berkaitan dengan driver, serta fitu - fitur lainnya.

Feature Driver Endpoint Param JWT Token Fungsi
POST /api/drivers - NO Melakukan proses registrasi driver
POST /api/auth - NO Melakukan proses login driver
GET /api/auth/me - YES Mendapatkan informasi driver yang sedang login
PUT /api/drivers - YES Melakukan update informasi yang tidak credential driver yang sedang login
GET /api/drivers/orders - YES Mendapatkan semua order berdasarkan tipe truck driver
GET /api/drivers/current_order - YES Mendapatkan order yang sedang diantar oleh driver
GET /api/drivers/history_orders - YES Mendapatkan order yang telah diantar oleh driver
GET /api/orders/{orderID} orderID YES Mendapatkan detail sebuah order
POST /api/drivers/orders/{orderID}/take_order orderID YES Mengambil sebuah orderan untuk diantarkan ke tujuan
POST /api/drivers/orders/{orderID}/finish_order orderID YES Menyelesaikan sebuah orderan dengan mengupload foto pada saat diterima customer
🖥️ Admin

Di Admin terdapat fitur untuk melakukan manajemen customer, driver, order dan fitur statistik serta laporan order perbulannya.

Feature Admin Endpoint Param JWT Token Fungsi
POST /api/auth - NO Melakukan proses login admin
GET /api/auth/me - YES Mendapatkan informasi admin yang sedang login
GET /api/customers (optional) YES Mendapatkan list customer
GET /api/drivers (optional) YES Mendapatkan list driver
GET /api/orders (optional) YES Mendapatkan list order
GET /api/orders/{orderID}/histories orderID YES Mendapatkan timeline sebuah order
POST /api/orders/{orderID}/confirm orderID YES Mengkonfirmasi sebuah order jika tidak ada penyesuaian harga
POST /api/orders/{orderID}/cancel orderID YES Membatalkan sebuah order
GET /api/orders/{orderID} orderID YES Mendapatkan detail sebuah order
PATCH /api/orders/{orderID} orderID YES Melakukan penyesuaian harga pada sebuah order
POST /api/drivers/{driverID}/confirm driverID YES Mengverifikasi akun driver
GET /api/drivers/{driverID} driverID YES Mendapatkan detail profile driver
PUT /api/drivers/{driverID} driverID YES Melakukan update informasi yang credential pada akun driver
DEL /api/drivers/{driverID} driverID YES Menghapus akun driver
GET /api/customers/{customerID} customerID YES Mendapatkan detail profile customer
DEL /api/customers/{customerID} customerID YES Menghapus akun customer
GET /api/stats/aggregates/orders_count (optional) YES Mendapatkan jumlah semua order
GET /api/stats/aggregates/drivers_count (optional) YES Mendapatkan jumlah semua driver
GET /api/stats/aggregates/truck_types_count - YES Mendapatkan jumlah semua tipe truck
GET /api/stats/aggregates/customers_count - YES Mendapatkan jumlah semua customer
GET /api/stats/orders/{day} day YES Mendapatkan jumlah order berdasarkan periode hari yang di inginkan
POST /api/export/orders - YES Membuat file excel laporan order perbulan

(back to top)

🛠  Build App & Database

JSON  GitHub  Visual Studio Code  MySQL  Golang  Echo  Gorm  AWS  Insomnia  Docker  Ubuntu  Midtrans  Codacy  CloudFlare  Google Maps Platform  JWT  Swagger  Lucid Chart 

(back to top)

🗃️ ERD

(back to top)

📑 Use Case Diagram

(back to top)

📱 Contact

Project Repository Link : https://github.com/ALTA-Bringeee-Group1/Bringeee-API
Open API Documentation : https://app.swaggerhub.com/apis-docs/wildanie12/Bringee-API/v1.2#/ 

Contributor :
Gmail: M. Badar Wildani GitHub M. Badar Wildani LinkedIn

Gmail: Muh. Nasrul GitHub Muh. Nasrul LinkedIn

(back to top)

©️ 2022 | Built with ❤️ from us

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.