fivenet

command module
v0.8.20 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2024 License: Apache-2.0 Imports: 46 Imported by: 0

README

FiveNet Logo

FiveNet

Roadmap

  • Employee Management
    • "Führingsregister": Positive, neutral and negative entries for employees.
  • Dispatch Center ("Leitstelle"), see design doc.

Features

Note This list is incomplete.

Show Complete Feature List
  • Authentication
    • Separate "accounts" table that allows users to log in to the network
  • "Content Moderation" access for server admins
    • Use a list of ESX user groups in the config
    • Allow them to switch jobs on the fly to always the highest job rank
    • Allow them to edit/ delete any user content
  • Livemap
    • See your colleagues (for now using Copnet VPC Connector's data)
      • Create a table model for our player location table
    • Multiple different designs
    • Display dispatches (from GKS phone for now)
    • See other jobs' positions and/ or dispatches
    • Animated Marker when they move
    • Search markers
    • Postal Search
  • Permissions System
    • Based on Job + Job Rank/ Grade
  • User Database - 1. Prio
    • Search by
      • Name
      • Wanted State
    • Display a single user's info
      • Show a feed of the activity of the user (e.g., documents created, documents mentioned in)
    • Wanted aka "additional UserProps"
      • Allow certain jobs to set a person as wanted
      • Add toggle to display only wanted people
  • Vehicles Search
    • By Plate
    • By Citizen on the citizen profile
  • Documents ("Akten")
    • Each document is independent and has no direct parent or responses
      • Users can leave Comments on documents
    • Documents can reference each other ("document activity feed"), e.g., DOJ asks for a blood test on a patient, LSMD responds by creating the patient blood test result document and references the DOJ response
    • Templates
      • Add requirements for templates
    • Sharing
      • Sharing with the same job automatically
      • Sharing with users/ citizens (e.g., Patientenbefund is shared with the Patient, the lawyer and the DOJ)
    • Category System (no directories/ paths)
      • Sub-categories - One level of categories that are sorted by names
    • Functionality
      • Create Documents with access
      • Edit Documents
        • With access modifications
        • Set/ Update document category
        • Set Access for Jobs and Users
      • Document Comments
        • View Document Comments
        • Post Document Comments
        • Edit Document Comments
  • "Completor" Service
  • Breadcrumbs
    • Use the closest thing to a page title (e.g., when viewing a user or editing a document) to build the breadcrumbs
  • "Faction Leader Control Panel" aka "Rector Service"
    • Permission Editor for the job ranks (Rector)
      • Can view the permissions
      • Can edit the permissions
    • Templates (DocStore)
      • Create templates
      • Edit templates
    • Category (DocStore)
      • Create Categories
      • Edit Categories
      • Delete categories
  • FiveM Integration plugin
    • Livemap - Player position tracker plugin

Development

Required Tools
  • Golang 1.21 or higher
    • The assumption is that your PATH contains $GOPATH/bin.
  • yarn
  • protoc
    • Depending on your OS, Deb-based libprotobuf-dev, Fedora: protobuf-dev
  • protoc-gen-go (might be available via your OSes package manager):
    • go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
    • go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2
  • protoc-gen-js: Run yarn, without any args, in the root of the repository to install this and other dependencies.
  • protoc-gen-grpc-web: Download and install the latest release from https://github.com/grpc/grpc-web/releases
  • protoc-gen-validate: Download and install the latest release from https://github.com/bufbuild/protoc-gen-validate/releases
  • protoc-go-inject-tag: Run go install github.com/favadi/protoc-go-inject-tag@latest.
  • protoc-gen-doc: Run go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@latest.
  • go-licenses: Run go install github.com/google/go-licenses@latest.
Codium/ VSCode Users

Make sure to disable the built-in Typescript plugin.

  1. In your project workspace, bring up the command palette with Ctrl + Shift + P (macOS: Cmd + Shift + P).
  2. Type built and select "Extensions: Show Built-in Extensions".
  3. Type typescript in the extension search box (do not remove @builtin prefix).
  4. Click the little gear icon of "TypeScript and JavaScript Language Features", and select "Disable (Workspace)".
  5. Reload the workspace. Takeover mode will be enabled when you open a Vue or TS file.

Copied from and for more information on "why you should do this", see: https://vuejs.org/guide/typescript/overview.html#volar-takeover-mode

GRPC Web Debugging in your Browser

You must use this forked version: Github jrapoport/grpc-web-devtools.

Credits

  • Leaflet Livemap Code: Based upon NelsonMinar's Map Viewer Gist and VPC's CopNet/ MedicNet livemap code, and a lot of Leaflet CRS related Stackoverflow posts.

License

Code licensed under Apache 2.0 license, see LICENSE.

Licenses of used libraries, code and media can be found in the src/public/licenses/ folder.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
gen
internal
pkg
grpc/interceptors/auth
Package auth is a middleware that authenticates incoming gRPC requests.
Package auth is a middleware that authenticates incoming gRPC requests.
nats/locks
Modified version of https://github.com/HeavyHorst/certmagic-nats/blob/b27fd6c010166e396b6f9e1c651ba7b02ce6c01f/nats.go#L114 which is licensed under [MIT License](https://github.com/HeavyHorst/certmagic-nats/blob/b27fd6c010166e396b6f9e1c651ba7b02ce6c01f/LICENSE)
Modified version of https://github.com/HeavyHorst/certmagic-nats/blob/b27fd6c010166e396b6f9e1c651ba7b02ce6c01f/nats.go#L114 which is licensed under [MIT License](https://github.com/HeavyHorst/certmagic-nats/blob/b27fd6c010166e396b6f9e1c651ba7b02ce6c01f/LICENSE)
gen

Jump to

Keyboard shortcuts

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