Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/efenstakes/walmart-api-go
Walmart Ecommerce API in Golang
https://github.com/efenstakes/walmart-api-go
cloud fiber fiber-framework go golang server
Last synced: 6 days ago
JSON representation
Walmart Ecommerce API in Golang
- Host: GitHub
- URL: https://github.com/efenstakes/walmart-api-go
- Owner: efenstakes
- Created: 2023-07-18T17:59:05.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-06T19:24:16.000Z (11 months ago)
- Last Synced: 2023-12-06T20:29:56.372Z (11 months ago)
- Topics: cloud, fiber, fiber-framework, go, golang, server
- Language: Go
- Homepage:
- Size: 41 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Walmart API: With Golang
Welcome to the Walmart Ecommerce API built with Go. In this document, I document the project features, considerations made and things that could be improved.
## Introduction
This is an Ecommerce API built with Go (Golang). I chose go because of it's shear speed, performance and simplicity. Furthermore, my primary tech stack is mostly composed of Python, TypeScript, JavaScript and Go. Having used express, nestjs, flask and fastAPI, I decided to build a project with Go Fiber which boasts itself as the fastest go Rest Framework. For data storage, I decided to use MongoDB which is a NoSQL database suitable for datasets that may vary over time and it's vast search ability.
## Key Features
1. User Management
2. User Authentication with JWT and cookies
3. User Authorization & http middleware
4. Product Management & Rating
5. Saved Carts to allow synchronization.
6. Saved Products (Favorite Products)
7. HTTP Request data validation
## Tech Used
1. Golang: The Ecommerce backend is powered by Go. Go is leading in the development of cloud products and services.
2. Fiber: Fiber is a Go web framework built on top of Fasthttp, the fastest HTTP engine for Go. It's designed to ease things up for fast development with zero memory allocation and performance in mind.
3. MongoDB: Mongo is a modern NoSQL database suitable for datasets that may vary over time and it's vast search ability
# Running
To run this server, you need to clone the repo to your local environment.```sh
git clone https://github.com/efenstakes/walmart-api-go api
```Navigate to the folder.
```sh
cd ./api
```Install dependencies
```sh
go get .
```Create a `.env` and set the below values:
1. `PORT` the port the API runs on
2. `JWT_SIGNING_KEY` The JWT signing key used to sign JWT tokens
3. `DB_URI` Mongo db instance URI (from docker, local mongo compass or cloud)
Run the Go Fiber server with:
```sh
go main.go
```Happy building :(.
## Contact
If you wish to contact me, use my email [email protected].