GroupProject3-Kelompok2 / BE

Airbnb Clone : RESTful API for homestay reservation system integrated with Midtransโ€™ core api payment gateway.
1 stars 0 forks source link

๐Ÿ“‘ About the Project

AirBnB Project

This RESTful API was developed by using Golang and written based on Clean Architecture principles. Built with Echo as web framework, GORM as ORM, MySQL as DBMS etc.

๐Ÿ›  Tools

Backend:
GitHub Visual Studio Code MySQL Go JWT Swagger Postman MidTrans

Deployment:
Google Cloud Google Cloud Storage Docker Ubuntu

Communication:
GitHub Discord

๐Ÿ”— ERD

๐Ÿ”ฅ Open API

Simply click here to see the details of endpoints we have agreed with our FE team.

๐Ÿ‘ถ Users | Method | Endpoint | Params |q-Params | JWT Token | Function | | ----------- | ------------------- | ----------- |--------------------| ----------- | --------------------------------------- | | POST | /login | - |- | NO | Login to the system | | POST | /register | - |- | YES | Register a new user | | PUT | /users | user_id |- | YES | Update user profile by admin | | DELETE | /users | user_id |- | YES | Deactive user profile by admin | | GET | /users | - |- | YES | List users | | GET | /users | user_id |- | YES | Show user profile | | PUT | /users | - |- | YES | Update user profile |
๐Ÿ“‘ Homestays | Method | Endpoint | Params | JWT Token | Function | | ----------- | ------------------- | ----------- | ----------- | --------------------------------------- | | POST | /classes | - | YES | Register new class | | GET | /classes | - | YES | Get list class | | GET | /classes | class_id | YES | Get class | | PUT | /classes | class_id | YES | Edit class | | DELETE | /classes | class_id | YES | Delete book |
๐Ÿ“  Reservations | Method | Endpoint | Params | JWT Token | Function | | ----------- | ------------------- | --------------------- | ----------- | --------------------------------------- | | POST | /mentees | - | YES | Register new mentee | | GET | /mentees | - | YES | List Mentees | | GET | /mentees | mentee_id | YES | Mentee Profile include its Feedbacks | | PUT | /mentees | mentee_id | YES | Update Mentee Profile | | DELETE | /mentees | mentee_id | YES | Deactive Mentee Profile | | DELETE | /mentees | mentee_id/feedbacks | YES | Mentee Profile include its Feedbacks |
๐Ÿ”Š Payments | Method | Endpoint | Params | JWT Token | Function | | ----------- | ------------------- | ----------- | ----------- | --------------------------------------- | | POST | /feedbacks | - | YES | Register feedback for mentees | | PUT | /feedbacks | feedback_id | YES | Update selected feedback for mentees | | DELETE | /feedbacks | feedback_id | YES | Unregister spesif feedback |
๐Ÿ”Š Reviews | Method | Endpoint | Params | JWT Token | Function | | ----------- | ------------------- | ----------- | ----------- | --------------------------------------- | | POST | /feedbacks | - | YES | Register feedback for mentees | | PUT | /feedbacks | feedback_id | YES | Update selected feedback for mentees | | DELETE | /feedbacks | feedback_id | YES | Unregister spesif feedback |

๐Ÿ› ๏ธ How to Run Locally

$ git clone https://github.com/GroupProject3-Kelompok2/BE.git
$ cd BE

๐ŸงฐBackend

๐Ÿค– Author

Created by Group 2 ยฉ๏ธ 2023