https://github.com/alterra-greeve/backend-capstone
Capstone Project SIB Batch 6 x Alterra Academy
https://github.com/alterra-greeve/backend-capstone
cloudrun golang gorm midtrans websocket
Last synced: 10 months ago
JSON representation
Capstone Project SIB Batch 6 x Alterra Academy
- Host: GitHub
- URL: https://github.com/alterra-greeve/backend-capstone
- Owner: Alterra-Greeve
- Created: 2024-04-26T04:13:27.000Z (about 2 years ago)
- Default Branch: production
- Last Pushed: 2024-06-24T02:14:07.000Z (almost 2 years ago)
- Last Synced: 2025-05-31T21:51:09.176Z (about 1 year ago)
- Topics: cloudrun, golang, gorm, midtrans, websocket
- Language: Go
- Homepage: https://api.greeve.store
- Size: 1.01 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Greeve
Final Project Capstone Alterra Academy
Explore the docs Open API
# About Project
Greeve is an innovative app that aims to increase user awareness and participation in environmental conservation and make it easier to purchase eco-friendly goods and equipment. The app not only offers a platform to purchase environmental goods and equipment, but also provides information on the impact of users' activities on the environment as well as how to measure and reduce that impact. The following is greeve documentation from the backend using golang programming language.
### Features available in this project:
| Feature | Method | Users | Admin |
| ----------------- | ------------------- | ----------------------- | ---------------------------------------- |
| USERS FEATURE |
| Register | POST | Yes | No |
| Login | POST | Yes | Yes |
| Reset Password | POST | Yes | No |
| Get All Users | GET | No | Yes |
| Edit Self Profile | PUT | Yes | Yes |
| Manage User | PUT | No | Yes |
| Delete User | DELETE | Yes | Yes |
| Product FEATURE |
| Create Data Product | POST | No | Yes |
| Edit Data Product | PUT | No | Yes |
| Create Data Product | POST | No | Yes |
| Get Product | GET | Yes | Yes |
| Get Product by ID | GET | Yes | Yes |
| View Item from Shooping cart | GET | Yes | No |
| Add Item to Shooping cart | POST | Yes | No |
| Edit Item From Shooping cart | PUT | Yes | No |
| Delete Item From Shooping cart | DELETE | Yes | No |
| Transaction FEATURE |
| Get All Transaction Data For User | GET | Yes | Yes |
| Get Transaction Data For User by ID| GET | Yes | Yes |
| Create Transaction | POST | Yes | No |
| Cancel Transaction | PUT | Yes | No |
| Payment For Transaction | POST | Yes | No |
| Challenge Feature |
| View All Challenge | GET | Yes | Yes |
| Get Challenge by ID | GET | Yes | Yes |
| Get Challenge that has been joined | GET | Yes | No |
| Parcitipate Challenge | POST | Yes | No |
| Confirmation Join Challenge | POST | Yes | No |
| Viev Monthly Leaderboard | GET | Yes | Yes |
| Forum Feature |
| Get All Forum | GET | Yes | Yes |
| Get Forum by Id | GET | Yes | Yes |
| Create Forum | POST | Yes | No |
| Edit Forum | PUT | Yes | No |
| Delete Forum | DELETE | Yes | Yes |
| Create Message | POST | Yes | No |
| Edit Message | POST | Yes | No |
| Get Message by Id | GET | No | Yes |
| Delete Message | DELETE | Yes | Yes |
| Impact Category Feature |
| Get All Impact Category | GET | No | Yes |
| Create Impact Category | POST | No | Yes |
| Edit Impact Category | PUT | No | Yes |
| Delete Impact Category | DELETE | No | Yes |
| Voucher Feature |
| Get All Voucher | GET | Yes | Yes |
| Create Voucher | POST | No | Yes |
| Edit Voucher | PUT | No | Yes |
| Delete Voucher | DELETE | No | Yes |
| Dashboard Feature |
| Get Dashboard | GET | No | Yes |
| Get Orders Product | GET | No | Yes |
| Get Orders Challenge | GET | No | Yes |
# Built With
- Golang
- Echo
- Gorm
- MySql
# Getting Started
## How to Use
Clone the project
```bash
git clone https://github.com/Alterra-Greeve/backend-capstone.git
```
Install required dependencies
```bash
go mod tidy
```
Setting Environmental Variable on `.env` file
```bash
DB_HOST=
DB_PORT=
DB_USER=
DB_PASS=
DB_NAME=
SMTP_USER=
SMTP_PASS=
SMTP_HOST=
SMTP_PORT=
JWT_SECRET=
PROJECT_ID=
BUCKET_NAME=
GOOGLE_APPLICATION_CREDENTIALS=
MIDTRANS_CLIENT_KEY=
MIDTRANS_SERVER_KEY=
```
Run `main.go` file
```bash
go run main.go
```
Run the endpoints as in the swagger documentation
# System Diagram and Architecture
## ERD
## HLA

# Contact
Link Project:
API Documentation:
## Contributor
**Nur Faid Praseto**
[](https://www.linkedin.com/in/kzquandary)
[](https://github.com/kzquandary)
**Chandra Wahyu Rafialdi**
[](https://www.linkedin.com/in/chandra-wahyu-r-8875b3297/)
[](https://github.com/ChandraWahyuR)