wakt

module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2022 License: GPL-3.0

README

Wakt


go.mod Go version Wiki License

Getting Started

Wakt is an open-source time tracking Microservice, based on Ardanlabs service 3 and inspired by Toggl track.

Prerequisites

You can run this make command to use brew to install all the software above.

make dev.setup.mac

To start using wakt

    make all
    make kind-up
    make kind-load
    make kind-apply

Check status

    make kind-status 

Check logs

    make kind-logs

To stop using wakt

    make kind-down

Run tests

    make test

Data Model

TODO for v1.0.0

in API :
  1. Decrase number of db cooniction per request
  2. Improve notufcation system
  3. Report package
  4. invoce and payment
  5. Oauth2
  6. improve comments
  7. missing funcalities
in UI:
  • Design UI/UX and Code (using React.js) the following:
    1. App Dashboard
    2. Home Page
    3. Price Page
    4. SignUp/Login/forget password Pages
    5. Email HTML Template for:
      1. SignUp validation
      2. Invitations
      3. Reset email/password
      4. Reports and invoices

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/wakt-api/handlers
Package handlers manages the different versions of the API.
Package handlers manages the different versions of the API.
services/wakt-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/wakt-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/wakt-api/handlers/v1/clientgrp
Package clientgrp maintains the group of handlers for group access.
Package clientgrp maintains the group of handlers for group access.
services/wakt-api/handlers/v1/groupgrp
Package groupgrp maintains the group of handlers for group access.
Package groupgrp maintains the group of handlers for group access.
services/wakt-api/handlers/v1/projectgrp
Package projectgrp maintains the group of handlers for project access.
Package projectgrp maintains the group of handlers for project access.
services/wakt-api/handlers/v1/projectusergrp
Package projectusergrp maintains the group of handlers for projectuser access.
Package projectusergrp maintains the group of handlers for projectuser access.
services/wakt-api/handlers/v1/taggrp
Package taggrp maintains the tag of handlers for tag access.
Package taggrp maintains the tag of handlers for tag access.
services/wakt-api/handlers/v1/taskgrp
Package taskgrp maintains the group of handlers for task access.
Package taskgrp maintains the group of handlers for task access.
services/wakt-api/handlers/v1/timeentrygrp
Package timeentrygrp maintains the group of handlers for timeEntry access.
Package timeentrygrp maintains the group of handlers for timeEntry access.
services/wakt-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/wakt-api/handlers/v1/workspacegrp
Package workspacegrp maintains the group of handlers for workspace access.
Package workspacegrp maintains the group of handlers for workspace access.
services/wakt-api/handlers/v1/workspaceusergrp
Package workspaceusergrp maintains the group of handlers for workspaceuser access.
Package workspaceusergrp maintains the group of handlers for workspaceuser access.
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/wakt-admin
This program performs administrative tasks for the garage sale service.
This program performs administrative tasks for the garage sale service.
tooling/wakt-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
core/client
Package client provides an example of a core business API.
Package client provides an example of a core business API.
core/client/db
Package db contains client related CRUD functionality.
Package db contains client related CRUD functionality.
core/group/db
Package db contains group related CRUD functionality.
Package db contains group related CRUD functionality.
core/project/db
Package db contains project related CRUD functionality.
Package db contains project related CRUD functionality.
core/project_user
Package project_user provides an example of a core business API.
Package project_user provides an example of a core business API.
core/project_user/db
Package db contains project user related CRUD functionality.
Package db contains project user related CRUD functionality.
core/tag/db
Package db contains tag related CRUD functionality.
Package db contains tag related CRUD functionality.
core/task/db
Package db contains task related CRUD functionality.
Package db contains task related CRUD functionality.
core/time_entry/db
Package db contains TimeEntry related CRUD functionality.
Package db contains TimeEntry related CRUD functionality.
core/user
Package users provides an example of a core business API.
Package users provides an example of a core business API.
core/user/db
Package db contains user related CRUD functionality.
Package db contains user related CRUD functionality.
core/workspace
Package workspace provides an example of a core business API.
Package workspace provides an example of a core business API.
core/workspace_user
Package workspace_user provides an example of a core business API.
Package workspace_user provides an example of a core business API.
core/workspace_user/db
Package db contains client related CRUD functionality.
Package db contains client related CRUD functionality.
data/dbschema
Package dbschema contains the database schema, migrations and seeding data.
Package dbschema contains the database schema, migrations and seeding data.
data/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.
feed/geolocation
Package feed geolocation provides a simple function to get the geolocation of an IP address.
Package feed geolocation provides a simple function to get the geolocation of an IP address.
send/smtp
Package send provides a simple SMTP client.
Package send provides a simple SMTP client.
sys/auth
Package auth provides authentication and authorization support.
Package auth provides authentication and authorization support.
sys/database
Package database provides support for access the database.
Package database provides support for access the database.
sys/metrics
Package metrics constructs the metrics the application will track.
Package metrics constructs the metrics the application will track.
sys/util
Package util provides some common functions used in the system.
Package util provides some common functions used in the system.
sys/validate
Package validate contains the support for validating models.
Package validate contains the support for validating models.
web/v1
Package v1 represents types used by the web application for v1.
Package v1 represents types used by the web application for v1.
web/v1/mid
Package mid contains the set of middleware functions.
Package mid contains the set of middleware functions.
foundation
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.
upload
Package upload provides a simple interface for uploading files to the server.
Package upload provides a simple interface for uploading files to the server.
web
Package web contains a small web framework extension.
Package web contains a small web framework extension.
worker
Package worker manages a set of registered jobs that execute on demand.
Package worker manages a set of registered jobs that execute on demand.

Jump to

Keyboard shortcuts

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