Skip to content

Alterra-Greeve/backend-capstone

Repository files navigation

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

Getting Started

How to Use

Clone the project

  git clone https://github.com/Alterra-Greeve/backend-capstone.git

Install required dependencies

  go mod tidy

Setting Environmental Variable on .env file

  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

go run main.go

Run the endpoints as in the swagger documentation

System Diagram and Architecture

ERD

ERD_Capstone drawio

HLA

HLA Capstone (3)

Contact

Link Project:
GitHub Badge
API Documentation:
Swagger Badge

Contributor

Nur Faid Praseto
Nur Faid Prasetyo - LinkedIn Nur Faid Prasetyo - GitHub

Chandra Wahyu Rafialdi
Chandra Wahyu Rafialdi - LinkedIn Chandra Wahyu Rafialdi - GitHub