GithubHelp home page GithubHelp logo

bossbuwi / existence Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 1.12 MB

The world is waiting.

Java 57.87% Shell 0.14% JavaScript 0.06% HTML 0.22% Vue 33.97% TypeScript 7.36% Batchfile 0.39%
java postgresql spring-boot typescript vuejs vuetifyjs

existence's People

Contributors

bossbuwi avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

existence's Issues

Make the errors more robust

There are errors that are thrown just for the sake of throwing errors and halting the ongoing process. These errors provide little to no help when diagnosing issues outside of debugging. Find them all and rework them.

Rework and organize the custom errors

There are now too many custom errors and there are bound to be more as the app grows. These must be reworked to just inherit from a few generic exceptions.

Update WebSecurityConfig

WebSecurityConfigurerAdapter has been deprecated on the latest release of Spring security. The class WebSecurityConfig is implementing it and needs to be updated. A lot of changes is expected.

Zone Entity Cleanup

The relations and constraints of the Zone entity on Sonata doesn't really make any sense. Revisit them and clean them up. I can't even understand them and I'm supposed to be the creator of this thing!

Zones not displaying on events list view

Steps:

  1. Go to Events.
  2. Select an event item.

Result:
Zones are not displayed.

Notes:
This is almost certainly an issue on the event form component because zones are being displayed when an item is clicked on the calendar.

Finalize app

  • Finalize app for end users. This includes any missing endpoints and validations. This is a lot of work but would be the final push. Thank you for the support.

v2.0draco

Below is a list of issues that must be included on the release on v2.0 draco.

  • #77
  • #89
  • #69 Filters are working but the generic search does not. Half complete and will be closed, I guess?
  • #90
  • #91
  • #92
  • #93
  • #94 Still can't find out why triggers are not running properly. It won't be closed but is not included on v2.0draco
  • #95
  • #96
  • #97
  • #98
  • #99
  • #100
  • #101
  • #103
  • #104 This would not be included anymore. See issue for details.
  • #105
  • #106
  • #107 Sources are relatively clean but I would have wanted a bit of documentation / comments to help future coders, most likely me. :)
  • #108
  • #109
  • #110
  • #111

Organize guarded endpoints

Create a standard pattern for guarded and unguarded endpoints to prevent the filters from clogging up with antmatchers.

Remove old frontend

The old Angular frontend is still included in the repository at resources/frontend. This needs to be removed to clean up the sources. The maven build must also be amended because the front end is included in the build process.

Add search

A search capability for the event entity must be added.

Settings rework

The settings are practically useless. Please work on this.

Update Event DTO

Update event DTO to include machine on the JSON output. This is needed to differentiate between systems with similar global prefix but on different machines.

Create REST endpoints for item counts

REST endpoints for most of the entities that tell the client the total number of the specific entity there are must be created. I think this is the better solution instead of wrapping every response on a custom wrapper that indicates the total number of items. Even so, that custom wrapper still needs to be done for the endpoints that return large number of data like the indices.

Below are the entities that need the count endpoint (for now):

Please create issues for each of them, link those to this one and tick the corresponding checkbox once the endpoint is done.

Organize publishing process

The following needs to be done:

  • Export the jar file with the dependencies not included on the main file.
  • Use profiles when launching the app.

Rework getEventsOnMonth

The method getEventsOnMonth on Sonata must be reworked to be able to process date ranges and not months.

Add rules endpoint

The following must be added:

  • A new entity, Rule, under constellation Sonata. The required fields are just an id and a string.
  • Rule must have a many to one relationship with the System entity (Optional for now but needs to be added at a later date.)
  • REST endpoint must be unguarded.
  • Create, read and update methods are required. Delete method is optional for now but needs to be added at a later date.

Rework EntityNotFoundException

EntityNotFoundException currently only has a parameter that accepts a message, any message. Rework this exception to accept a set of strings - entity, key and value - instead. Build the message on the exception itself to save space and for easier use. The exception's message should stay more or less the same.

v0.2-beta

Next Release Targets

  • Add capability to use a third party server for user authentication. Fixed by #6
  • Complete the CRUD functions for the constellation ballad. Fixed by #6
  • Add capability to delete users. Fixed by #6
  • Add capability to detect banned users. Fixed by #6
  • Add capability to recognize user roles system-wide. This may be too large and needs its own release.
  • Password changing needs to be streamlined, just like how standard password changing on web sites are implemented. An old password and two instances of new passwords are needed. Fixed by #6
  • Handle user log out correctly using Spring Security. Not possible due to the JWT implementation. It needs to be released on its own version.

Next Release Dreams

  • Complete the CRUD functions for the constellation sonata. Won't be included.
  • Complete the frontend part of the app. Won't be included.

Additional Changes

  • Cleaned up and added comments on the liquibase changelogs for easier record reading and maintenance. Fixed by #3
  • Added new process to reset the default admin roles, in case they have been tampered with. This needs the master password for authorization. Fixed by #6
  • #4
  • #5
  • #10

Database rework on Ballad

It came to my knowledge that the names of the Tag and Story entities on the constellation Ballad do not have unique constraint. This makes the try-catch block on the CRUD methods borderline useless. Add the unique constraint on them and handle the database errors accordingly. This must be released on #2

Event form duplicate fetch

On first load during a session, event form is always fetching the systems list and the event types list twice, resulting in a redundant dropdown.

Spring Validator on Symphony

Check if it would be better to use the default Spring Validators on Symphony or if using them will just cause chaos.
Linked to #16
Fixed by #31

Rework Sonata

Sonata is a hot mess. If I could delete it, I would, but sadly I can't. Because ironically, the initial driving force for this project is sonata. It is supposed to be an improvement over an app that is currently used by my team at the office, an app that I made. So, it still needs to be finished. And it needs to be better than the current app.

These are the tasks needed to be done:

  • Rework errors to comply with the new custom errors introduced by #10
  • Revisit the CRUD functions and the method on how the entities are written on the database.
  • Revisit the entities themselves and their relationships and check if anything needs improvement.

Update dependencies

Dependencies must be kept updated, unlike some other software that I know. Oooof.

System Entity Rework

  • Systems frontend is broken. Go to systems navigation link and check the browser logs for errors. Those must be fixed.
  • Allow users of admin level to create system and manipulate them. At present, only users of superuser level are allowed to manipulate systems.

Note that these changes might require reworking some relationships or basic entity identities and end up affecting other working parts of the app. Thread lightly.

Router not respecting switchable features

Switchable features have no effect on the router. Turning a feature on or off will not activate the route. This is due to the router typescript file being initialized before the switchable features list is fetched from the backend. The fix for this would be to rework how the application starts. Fetch and wait for the switchable features list from the backend before activating the router.

v1.0cassiopeia

Targets

  • Search feature for Event entity. #69 This is not really that "important". Although a search feature is really a standard part of apps nowadays, the app can function without this on its early days. It will be added on a later release.
  • Report creation and export to worksheet capability for Event entity. This is a capability that is a staple of the existing app which Existence aims to replace. It is a bit more complex to implement using Spring Boot though. As such, it is delayed and will be added on a later release.
  • Accept a worksheet upload for Event entity import. This is technically working, although just manually. A spreadsheet needs to be manually placed into a specific folder on the production machine and a user must use a third party app like Postman to access the exposed endpoint. The records on the spreadsheet would then be imported by the app. A much better process would be added on a later release.
  • Finish the New System interface on reality. #76
  • Remove the authority restriction on creating systems and other entities. #76
  • Create a switchable feature that controls if the Coblogs is enabled. #74
  • Finish the Settings feature. #74 #77

Create constellation requiem

A new constellation, requiem, must be created. The current coblogs must be incorporated into this. This is urgent and is of the highest priority.

Handle Generic JSON Parsing Error

Spring returns a generic HTTP 400 error when receiving invalid JSON. Upon further investigation, Spring has the details that it needs to return a detailed response but instead decided not to. Check if this detailed response could be returned instead of the generic error.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.