A simple portal, that allows you to dynamically define links to go to. It serves like a collection page for various kinds of links. The idea was to provide a interface for common used links among a certain group of people. Via the Portal, all commonly used links can be gathered and accessed at a central place.
This project is a continuation of another one I did in 2019, Technik Portal
For local development, you can use following ENV properties to start:
DDL_AUTO=create-drop
INITIAL_ADMIN_PASS=admin
STORAGE_TYPE=system
- Containerize with Micronaut / Quarkus when API / Frontend separated
- Enable CSRF for view based flows
- Split API / View Controllers (also, do API versioned)
- Upgrade Spring Framework
- Bootstrap Upgrade from 4 to 5
- Add Pass Encryption Migrator (for pass encryption key rotation)
- Add basic ChatBot integration
-  Add notifications system (f.ex. if another user adds a new link)
- Backed by a Background Job system, Spring Batch?
 
- Daily "Link" suggestions
- Link Voting System
-  Add monitoring
- Track used API endpoints
- App performance
 
-  Add Migration Flow
- Liquibase or similar
 
-  Refactor Front-End JS Code
- Split into more files
- [ ] Implement smarter script loading- Will be done with VueJS Frontend
 
- Remove jQuery dependency
-  Adjust visibility of functions / encapsulate properly
 
- [ ] Refactor Backend Controller Code- - [ ] Split into REST and Content Endpoints- Will be REST only Backend after swtich to VueJS Frontend, dropped
 
-  Implement Authentication / Authorization / Login / Security-  Entity EOs
-  UI and Controllers- [x] Spring Security Settings- [x] Password Security Level(Bcrypt or SHA? Or other?)- Bcrypt
 
-  
-  Feature: Dynamic System Settings (Footer Text, Main Title)
-  Feature: Grouped Display for PortalLinks- Alphabetically grouping
 
-  Feature: PortalLink Ordering (define display order)- Dropped due to alphabetically ordering providing overview
 
-  Feature: My Links
-  Feautre: Shared Links
-  Feature: Link visibility based on assigned Profile- Profile (Access) Concept dropped
 
-  Feature: Save Login / Pass for PortalLink
-  Feature: Autofill Login / Pass for PortalLink- Alternativ implemented
 
- Feature: Import / Export PortalLinks to/from File
- Test: Write more Tests, 300 at the minimum (50/300)
-  Feature: Share Links globally- Dropped concept due to other alternative
 
-  Remove Roles Tab frontend, only fix USER/Admin
-  Simple Install Procedure for when new features implemented- Provided via Github and Heroku Combo, for local instalaltions, see Jenkins
 
- Auto-Deploy Mechanism
-  Portability of DB (SQLite)
-  Services cleanup: Ops that do specific tasks- f.ex. which fields consist an update for a User? If a field was not changed, do we still write it to the DB?
- Optimize these kinds of Ops
 
-  Current User Info indicator in Header / Dropdown with Logout Button
-  Enable / Disable User, 3 Login Tries, Reset Password, Forgot Password etc.- Reset and Forgot not implemented, Admin responsibility
 
- Implement App Logger to File /log
- Switch Frontend to Vue.js / Make Backend fully REST (post-ZIVI)
-  Introduce Simple Category system on PortalLink, Filter like Search (Dropdown of all available categories) on front
-  Portal Link Password Encryption with User Password for retrievability- Alternative implemented, Portal based key
 
-  Show dialog with pass login information on clicking a link if link has password- Implemented via Modal Preview
 
-  Add login information to RDP/Teamviewer variants- Dropped due to "Show password" Alternative
 
-  Introduce *Form classes for Validation and DataTransfer Controller - View (ie. don't use EO's directly)- Implemented via Facade and Dto's
- Define Validation on *Form Objects
 
-  Show Passwords on Credentials page when button "show" clicked, modal (could be the same modal for links)
- Bulk Operations
- Add auto thumbnail retrieval on web urls
- Replace sout calls with logger, define logging strategy
- Add Auditing to critical processes
- Add Apache Guacamole for Remote Access Links (RDP, VNC etc.)
- Add 3rd Party Login Handlers (i.e. Login with Google etc.)
- Add Chat to communicate with other users
-  Add Filters based on Link-Type
- New user login redirect broken behavior