• Stars
    star
    149
  • Rank 248,619 (Top 5 %)
  • Language
  • License
    MIT License
  • Created almost 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Go Project Structure

go-project-structure-logo

Licence Latest Release Issues Contributor Covenant

This is a template repository for Go projects.

We released a blog post revealing the story behind this structure. Our internal journey at HUMAN Security to find the best project structure, the decision we’ve taken, and the conclusions we’ve drawn along the way.

To view a full example, navigate to the example branch.

Each of the directories in this repository contains a README file describing its purpose.

Contents

Usage

To create a new project, fork this repository or use it as a template repository.

Project Structure Design

The project structure is designed with independent packages in mind, according to hexagonal architecture, and targeted to provide the following benefits:

  • Structural coherence
  • Separation of business logic and infrastructure
  • Reusability
  • Dependency declaration

Fore more info, read the full article behind this structure.

Contact and Contribute

Reporting issues and requesting features may be done in our GitHub issues page. For any further questions or comments you can reach us out at [email protected].

Any type of contribution is warmly welcome and appreciated ❤️ Please read our contribution guide for more info.

More Repositories

1

marshmallow

Marshmallow provides a flexible and performant JSON unmarshalling in Go. It specializes in dealing with unstructured struct - when some fields are known and some aren't, with zero performance overhead nor extra coding needed.
Go
372
star
2

restringer

A Javascript Deobfuscator
JavaScript
309
star
3

obfuscation-detector

Detect different types of JS obfuscation by their AST structure
JavaScript
50
star
4

perimeterx-nginx-plugin

PerimeterX NGINX Lua Middleware
Lua
42
star
5

CVE-2020-6519

JavaScript
26
star
6

ok-lets-go

Three Approaches to Structuring Go Code
Go
25
star
7

perimeterx-node-express

PerimeterX Express.js middleware to monitor and block traffic according to PerimeterX risk score
JavaScript
25
star
8

bot-tools

HTML
22
star
9

map-events

events mapped out completely cross browsers
JavaScript
20
star
10

flast

Provides a flat Abstract Syntax Tree and an Arborist to trim and modify the tree
JavaScript
19
star
11

px-iOS-Framework

HUMAN iOS framework
Objective-C
17
star
12

perimeterx-java-sdk

PerimeterX JAVA SDK
Java
16
star
13

perimeterx-php-sdk

PerimeterX PHP SDK
PHP
16
star
14

perimeterx-python-wsgi

PerimeterX WSGI Middleware
Python
15
star
15

gitapp_alert_on_public

A service for finding and alerting on newly created public repositories for GitHub users who are part of a GitHub organization.
Python
14
star
16

CVE-2019-18426

10
star
17

node-http2-server-push

HTML
8
star
18

perimeterx-kong-plugin

PerimeterX Kong plugin
Lua
7
star
19

web-security-analysis-toolkit-workshop

Sample code and examples for the Web Security Analysis Toolkit workshop.
6
star
20

rpc-protocol-benchmark

Go
5
star
21

perimeterx-node-core

JavaScript
5
star
22

perimeterx-asp-net

C#
4
star
23

perimeterx-abr-samples

Samples for the Advanced Blocking Response feature
HTML
4
star
24

map-events-website

a website for https://github.com/perimeterx/event-handlers project
JavaScript
3
star
25

perimeterx-public-devtools

JavaScript
3
star
26

envite

A framework to manage development and testing environments
Go
3
star
27

px-mobile-sdk-demo-app

PerimeterX Mobile SDK - Demo App
C++
2
star
28

perimeterx-ruby-sdk

perimeterx ruby sdk
Ruby
2
star
29

Data-Defender

A tool to help organizations improve efficiency and saving cost of BigQuery data
Python
2
star
30

perimeterx-python-3-wsgi

PerimeterX WSGI Middleware for Python 3
Python
2
star
31

eslint-config-perimeterx

JavaScript
1
star
32

ip-clipboard

macOS Automator workflow to copy your external ip address to clipboard
1
star