long-season

module
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2023 License: BSD-3-Clause

README

long-season

GitHub Workflow Status Go Report Card Docker Pulls GitHub go.mod Go version GitHub release (latest by date) PkgGoDev

The long-awaited web service for checking who is currently hacking at hackerspace (or doing anything else anywhere). long-season provides simple, responsive web user interface and REST API, for interacting with service without need for using browser. long-season is fully fledged, you don't need to setup external database or download interpreter. Everything you need is within this repository or included in docker image.

Although long-season is now usable, it is still in early development stage.

How it's working?

Basically: users are adding MAC addresses of their devices to their profile and administrator of long-season has to check online devices at his local network (you can achieve this with nmap) and send their MAC addresses to specified endpoint. That's it folks. For more question check FAQ or open new issue.

Installing

Right now you have to build long-season manually. But you can facilitate your work by using a make.bash script.

Clone this repository and enter below command in your shell (or whatever you are using):

$ ./make.bash build

Now you have long-season and short-season in your root directory. You can use make.bash for running project and rebuilding it whenever some changes occurs.

$ ./make.bash watch

You can also build docker image or just use docker-compose, which is the simplest way to start development or use long-season.

License

BSD 3-Clause License

Directories

Path Synopsis
cmd
pkg
models/set
Package set implements classic data structure for operating with unique values.
Package set implements classic data structure for operating with unique values.
services/ctxkey
Package ctxkey contains type and values of keys used to store information in context value storage, that holds data specific for single http request.
Package ctxkey contains type and values of keys used to store information in context value storage, that holds data specific for single http request.
services/devices
Package devices implements operations for device data manipulation.
Package devices implements operations for device data manipulation.
services/exim
Package exim exports and imports data from storage.
Package exim exports and imports data from storage.
services/happier
Package happier contains http REST API errors that are compatible with horror handlers.
Package happier contains http REST API errors that are compatible with horror handlers.
services/jojo
Package jojo implements session interfaces for jwt tokens for long-season application.
Package jojo implements session interfaces for jwt tokens for long-season application.
services/macs
Package macs contains functions, procedures and data types for manipulating hardware addresses.
Package macs contains functions, procedures and data types for manipulating hardware addresses.
services/middleware
Package middleware implements various middlewares specific for long-season application usage.
Package middleware implements various middlewares specific for long-season application usage.
services/requests
Package requests contains utilities for retrieving data stored in http.Request reference.
Package requests contains utilities for retrieving data stored in http.Request reference.
services/result
Package result implements utilities for writing different data formats to http.ResponseWriter.
Package result implements utilities for writing different data formats to http.ResponseWriter.
services/router
Package router implements http long-season server with routing logic.
Package router implements http long-season server with routing logic.
services/session
Package session implements routines and interfaces for handling users session (creating, killing, authorizing).
Package session implements routines and interfaces for handling users session (creating, killing, authorizing).
services/toussaint
Package toussaint implements service logic for manipulating two factor methods.
Package toussaint implements service logic for manipulating two factor methods.
services/update
Package update contains utilities for updating various data structures.
Package update contains utilities for updating various data structures.
services/users
Package users implements operations for user data manipulation.
Package users implements operations for user data manipulation.
storage/abstract
Package abstract implements abstract factory for storage Factory interface.
Package abstract implements abstract factory for storage Factory interface.
storage/errors
errors package for storage errors.
errors package for storage errors.
storage/memory
Package memory implements storage interfaces for bolt key-value store database.
Package memory implements storage interfaces for bolt key-value store database.
storage/mock
Package mock implements storage interfaces that can be used in unit tests or for running long-season with volatile data storage.
Package mock implements storage interfaces that can be used in unit tests or for running long-season with volatile data storage.
storage/temp
Package temp implements temporary storage interfaces that will be valid only during runtime and will evaporate after shutdown of program.
Package temp implements temporary storage interfaces that will be valid only during runtime and will evaporate after shutdown of program.

Jump to

Keyboard shortcuts

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