go-ecommerce-app

command module
v0.0.0-...-76e48d7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

README

Ecommerce App using Echo

Workflow Coverage

We intend to develop an e-commerce application with a REST architecture using the Echo framework. Echo is a Go web framework known for its exceptional performance, extensibility, and minimalistic design.

terminal

Prerequisites

Before starting up this project, make sure you have the necessary dependencies installed in your machine.

Software Installation
  • Go - Go is an open source programming language that makes it simple to build secure, scalable systems.

  • Docker - Docker helps developers bring their ideas to life by conquering the complexity of app development.

  • PostgreSQL - The World's Most Advanced Open Source Relational Database

  • golangci-lint - is a fast Go linters runner. It runs linters in parallel, uses caching, supports yaml config, etc.

For running Postgres locally using Docker, run the following command:

docker run --name ecommerce-local-db -p 5432:5432 -e POSTGRES_PASSWORD=******** -d postgres

Execute in Postgres DB Shell

create database ecommerce;
Database Schema

db_schema

Environment Variables

Before launching the application, be certain to configure the necessary environment variables.

- JWT_SECRET
- DB_HOST
- DB_USERNAME
- DB_PASSWORD
- DB_NAME
- DB_PORT

Using Windows? Run the following command

windows-env

Application Startup
Running App
make run

run-app

Building App
make build

build-app

Executing Tests
make test

test-app

REST Examples

You can find the Postman Collection/HTTP Client for GoLand under postman_httpclient directory.

postman-app

Docker

You have the option to retrieve the image from DockerHub.

Running Application in Local Kubernetes

Proceed with the instructions to launch your application within a local Kubernetes cluster, such as Docker Desktop or Minikube.

Before proceeding, make sure to update the ConfigMap.

k8s-terminal

Documentation

Overview

Copyright 2022 Google LLC

# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL