caservice

module
v0.0.0-...-1f9e35f Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2022 License: Apache-2.0

README

Clean Architecture Service

CircleCI Go Report Card go.mod Go version

Copyright (c) 2022, UAB "Appiness"
arjan@appiness.it

About this repo

This repo is a reimplemented version of the API service of Ardan Lab's Ultimate Service class, following Clean Architecture and Clean Code principles.

The approach of this project is to completely reimplement the service instead of refactoring the original service. Allthough this service uses the principles of Clean Architecture, we highly recommend Ardan Lab's course.

Learn more about the project:

Wiki

Licensing

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

    http://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.

Learn More


All material is licensed under the Apache License Version 2.0, January 2004.

Directories

Path Synopsis
app
services/metrics/collector
Package collector is a simple collector for
Package collector is a simple collector for
services/metrics/publisher
Package publisher manages the publishing of metrics.
Package publisher manages the publishing of metrics.
services/metrics/publisher/datadog
Package datadog provides support for publishing metrics to DD.
Package datadog provides support for publishing metrics to DD.
services/metrics/publisher/expvar
Package expvar manages the publishing of metrics to stdout.
Package expvar manages the publishing of metrics to stdout.
services/sales-api/handlers
Package handlers manages the different versions of the API.
Package handlers manages the different versions of the API.
services/sales-api/handlers/debug/checkgrp
Package checkgrp maintains the group of handlers for health checking.
Package checkgrp maintains the group of handlers for health checking.
services/sales-api/handlers/v1
Package v1 contains the full set of handler functions and routes supported by the v1 web api.
Package v1 contains the full set of handler functions and routes supported by the v1 web api.
services/sales-api/handlers/v1/usergrp
Package usergrp maintains the group of handlers for user access.
Package usergrp maintains the group of handlers for user access.
services/sales-api/sys/validate
Package validate contains the support for validating models.
Package validate contains the support for validating models.
services/sales-api/web/auth
Package auth provides authentication and authorization support.
Package auth provides authentication and authorization support.
services/sales-api/web/metrics
Package metrics constructs the metrics the application will track.
Package metrics constructs the metrics the application will track.
services/sales-api/web/v1
Package v1 represents types used by the web application for v1.
Package v1 represents types used by the web application for v1.
services/sales-api/web/v1/mid
Package mid contains the set of middleware functions.
Package mid contains the set of middleware functions.
tooling/logfmt
This program takes the structured log output and makes it readable.
This program takes the structured log output and makes it readable.
tooling/sales-admin
This program performs administrative tasks for the garage sale service.
This program performs administrative tasks for the garage sale service.
tooling/sales-admin/commands
Package commands contains the functionality for the set of commands currently supported by the CLI tooling.
Package commands contains the functionality for the set of commands currently supported by the CLI tooling.
business
user
Package user provides user (related) entities and business logic.
Package user provides user (related) entities and business logic.
user/usecases
Package usecases provides user usecases with application logic.
Package usecases provides user usecases with application logic.
Package data provides functionality for data interaction.
Package data provides functionality for data interaction.
core/pg
Package pg provides support for access to a postgres database.
Package pg provides support for access to a postgres database.
core/pg/dbschema
Package dbschema contains the database schema, migrations and seeding data.
Package dbschema contains the database schema, migrations and seeding data.
core/pg/dbtest
Package dbtest contains supporting code for running tests that hit the DB.
Package dbtest contains supporting code for running tests that hit the DB.
user
Package user provides user storage functionality.
Package user provides user storage functionality.
user/mem
Package mem provides memory storage functionality for users.
Package mem provides memory storage functionality for users.
user/pg
Package pg provides memory storage functionality for users.
Package pg provides memory storage functionality for users.
foundation
context
Package context provides functionality for wrapping values into the context.
Package context provides functionality for wrapping values into the context.
docker
Package docker provides support for starting and stopping docker containers for running tests.
Package docker provides support for starting and stopping docker containers for running tests.
keystore
Package keystore implements the auth.KeyLookup interface.
Package keystore implements the auth.KeyLookup interface.
logger
Package logger provides a convenience function to constructing a logger for use.
Package logger provides a convenience function to constructing a logger for use.
tests
Package tests provides functions and helpers for testing.
Package tests provides functions and helpers for testing.
validation
Package validation provides functionality for validation.
Package validation provides functionality for validation.
web
Package web contains a small web framework extension.
Package web contains a small web framework extension.

Jump to

Keyboard shortcuts

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