Skip to content

This project simulates the backend operations of a simple e-commerce platform.

Notifications You must be signed in to change notification settings

theme-ce/simple-shop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Shop

This is my portfolio project that simulates the backend operations of a simple e-commerce platform. It's built using Golang, and leverages gRPC and gRPC-Gateway for efficient, strongly-typed, and easily-scalable API endpoints.

Technologies Used

Golang: Backend implementation
gRPC: API design and communication
gRPC-Gateway: To expose the gRPC API over HTTP/REST
PostgreSQL: Database
Docker: Containerization and dependency management

Install tools

Installing

Clone the repository

git clone https://github.com/theme-ce/simple-shop.git

Navigate to the project directory

cd simple-shop

Setting up the Database

Start the PostgreSQL Docker container

make postgres

Create the database

make createdb

Run migrations

make migrateup

Running the Server Generate SQL and Protobuf Code

make sqlc proto

Start the server

make server

Test

make test

Database Schema

The database schema is available for public viewing at Dbdocs.

API Documentation

Once the server is running, the API documentation can be accessed through Swagger UI at http://localhost:8080/swagger.

Unit Testing with Gomock

This project uses gomock for creating mock objects and assertions in the unit tests. Gomock provides a flexible and convenient way to add mock testing to your Golang application.

About

This project simulates the backend operations of a simple e-commerce platform.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published