- Overview
- Tech Stack
- Features
- Getting Started
- Postman Documentation
- Table Structure
- Related Projects
- Contributors
- License
- Report
This project provides a RESTful API for managing products in an online gadget shop. It supports basic CRUD (Create, Read, Update, Delete) operations for products.
The REST API follows the principles of Representational State Transfer (REST), which enables easy integration with various clients, including web and mobile applications. It utilizes the HTTP protocol for communication, allowing clients to perform operations such as retrieving, creating, updating, and deleting resources.
- Authorization & Authentication
- Upload Images
- CRUD
- Error Handling & Validation
- Go-lang
- Echo
- GORM
- MySQL (for storing data)
- Cloudinary (for storing images)
- JSON Web Token (authorization)
- Scalingo (for deploying)
- and other packages (you can see in go.mod)
-
Clone this repository to your local
git clone https://github.com/nyannss/gadgetify-go.git
-
Install dependencies
cd gadgetify-go && go mod download
-
Setup environments (you can see in
.env.example
)-
Database server using MySQL
APP_PORT = (port as you want) DB_HOST = (put your db host) DB_PORT = (put your port of db host) DB_USER = (put your db username) DB_PASS = (put your db password) DB_NAME = (put your db name)
-
JSON Web Token Secret Key (prefer using random string) [see more information]
JWT_SECRET_KEY = (put your secret key)
-
Image server using Cloudinary [you can create account in here]
CLOUDINARY_NAME = (put your cloudinary name) CLOUDINARY_KEY = (put your cloudinary key) CLOUDINARY_SECRET = (put your cloudinary secret)
-
-
Last, run the app
go run main.go
You can see the documentation from Postman.
You can download table structure (ddl) from this link.
This project using ISC License
Any error report you can pull request or contact: nyannss@proton.me