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
- 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
- Golang 1.20 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.
- In your project workspace, bring up the command palette with Ctrl + Shift + P (macOS: Cmd + Shift + P).
- Type built and select "Extensions: Show Built-in Extensions".
- Type typescript in the extension search box (do not remove @builtin prefix).
- Click the little gear icon of "TypeScript and JavaScript Language Features", and select "Disable (Workspace)".
- 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.