Remove deprecated classes and static singleton-based architecture
This commit is contained in:
1 parent
54a27883d1
commit
b8786c8dc9
133 files changed
+4984
-1038
No files matched your search
@@ -0,0 +1,37 @@
|
||||
# Net Neutrality — Technical Documentation
|
||||
|
||||
This directory contains detailed technical documentation for the **Net Neutrality** Discord bot
|
||||
(`me.bobert:netneutrality`, version `3.0.0`).
|
||||
|
||||
It is intended for developers working on the codebase. It documents every major system and
|
||||
subsystem, how they fit together, and the end-to-end flows that tie them.
|
||||
|
||||
## Table of contents
|
||||
|
||||
| Document | Subsystem |
|
||||
|---|---|
|
||||
| [architecture.md](architecture.md) | High-level architecture, startup/shutdown lifecycle, tech stack |
|
||||
| [events.md](events.md) | Event handling & routing (`EventsHandler`) |
|
||||
| [contexts.md](contexts.md) | Contexts — the abstraction over Discord events |
|
||||
| [commands.md](commands.md) | Commands — message & slash commands, dispatch, options |
|
||||
| [tasks.md](tasks.md) | Tasks — button/emoji/modal/step/built-in/persistable/scheduled tasks |
|
||||
| [persistence.md](persistence.md) | Database — Hibernate/JPA, Flyway, entities, repositories, services |
|
||||
| [music.md](music.md) | Music — Lavaplayer pipeline, queue, custom Udio source |
|
||||
| [web-api.md](web-api.md) | HTTP Web API — internal control & introspection server |
|
||||
| [threading.md](threading.md) | Threading & scheduling infrastructure |
|
||||
| [utilities-and-bootstrap.md](utilities-and-bootstrap.md) | Utilities, configuration, logging, exceptions |
|
||||
|
||||
## How to read this documentation
|
||||
|
||||
Start with [architecture.md](architecture.md) for the big picture and the startup sequence.
|
||||
Then read [events.md](events.md) and [contexts.md](contexts.md), because almost everything else
|
||||
is triggered through a **Context** produced by the **EventsHandler**. From there, the two primary
|
||||
execution paths are [commands.md](commands.md) and [tasks.md](tasks.md).
|
||||
|
||||
## Conventions
|
||||
|
||||
- Class names are given fully qualified on first mention, then by simple name.
|
||||
- Database entity classes are prefixed with `O` (e.g. `OGuild`), and are documented in
|
||||
[persistence.md](persistence.md).
|
||||
- Environment variables / configuration keys use the `NETNEUTRALITY_*` and `MYSQL_*` prefixes and
|
||||
are documented in [utilities-and-bootstrap.md](utilities-and-bootstrap.md).
|
||||
Reference in new issue
Block a user