-
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #148 from SkewedAspect/bs-vue-next
Switch to BoostrapVueNext, Bootstrap v5 and migrate off @vue/compat
- Loading branch information
Showing
115 changed files
with
3,242 additions
and
2,831 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,30 @@ | ||
# Infrastructure Revamp | ||
# Infrastructure Revamp MkII | ||
|
||
I want to rework a lot of the infrastructure so that it's easier to add things to in the future. The basic idea is this: | ||
Back at it again. | ||
|
||
* [X] ~~Switch to Vuetify (I don't like it's API as much but it's worlds faster, with better components.)~~ | ||
* [X] Switch to Bootstrap v4 (and Bootstrap-Vue) | ||
* [X] Add a base model class that knows if it's dirty ~~(Proxy-based)~~ | ||
* [X] Use RxJS to manage state; the current character becomes an observable | ||
* [X] ~~Evaluate using `vuex` instead of RxJS, and the special models.~~ | ||
* [X] Move all resource access (like loading characters, systems, etc) into 'resource-access' | ||
* [X] Move all state holding and application logic to 'managers' | ||
* [X] Make components very, very dumb. They only have their own state, and logic relevant to their display. | ||
* [X] Move to ~~webpack~~ parcel. | ||
* [X] Implement `socket.io` so open pages stay in sync as changes are made. (Think, GM opening character pages.) | ||
* [X] Move to `knex` and sqlite (with the option for `postgres` for deployment) | ||
* [X] Move away from one table per system character to a single character record. | ||
* [X] ~~The system specific data would be a `any()` blob of JSON.~~ | ||
* [X] Each system would define an [ajv][] schema for it's specific data. | ||
* [X] ~~Evaluate and possibly implement [Joi][joi] instead of [AJV][ajv].~~ | ||
* [X] Any additional data (classes, spells, etc) needed should be treated as static data, and loaded as seeds into the database. | ||
* [X] Move and refactor systems; they should no longer be their own thing, they should be integrated as just run-of-the-mill routes/components, as part of the application. No need for shared units like current. | ||
* [X] Convert to typescript | ||
* [ ] Convert to better validation/data model (See #52) | ||
* [ ] Setup a reasonable ~~docker build~~/deploy pipeline in GitHub. (PARTIAL) | ||
* [X] Setup eslint MR checking in GitHub. | ||
* [ ] Switch to Bootstrap v5 (and Bootstrap-Vue-Next) | ||
* [ ] Switch to New [Color-picker][] | ||
* [ ] Convert from decoders to better validation/data model | ||
* [ ] Evaluate options in 2024 ([ajv][], [ajv-ts][] [joi][], [zod][], etc) | ||
* [ ] Add local user registration, link with Google / Facebook / Twitter | ||
* [ ] Remove/replace the 'supplements' system with a more customized system per system. | ||
* [ ] Move project to GitLab (and make GitHub a mirror) | ||
* [ ] Set Pipelines for CI/CD | ||
* [ ] Dev deploys on all master merges | ||
* [ ] Beta deploys on all beta tags | ||
* [ ] Prod deploys on all release tags | ||
|
||
This should really set us up for more complex interactions and a much faster time to implementing Campaigns. | ||
## New Features | ||
* [ ] Improved Dashboard | ||
* [ ] Campaigns | ||
* [ ] Maps | ||
* [ ] Mooks | ||
|
||
<!-- Links --> | ||
|
||
[ajv]: http://epoberezkin.github.io/ajv/ | ||
[ajv-ts]: https://github.com/vitalics/ajv-ts | ||
[joi]: https://github.com/hapijs/joi | ||
[zod]: https://github.com/colinhacks/zod | ||
|
||
_Note: This should move into issues, but for now it was easier to think about in a markdown file._ | ||
[color-picker]: https://github.com/cyhnkckali/vue3-color-picker |
Oops, something went wrong.