Open jimbrig opened 2 months ago
Core Root Level App:
app_ui.R
app_server.R
app_run.R
App-Related:
app_assets.R
app_config.R
app_logging.R
Core Filtering Inputs:
input_portfolio
input_portfolio()
shinyWidgets::pickerInput()
(i.e. Select, Dropdown, Multi-Select)portfolios
tableinput_property
input_property()
shinyWidgets::pickerInput()
(i.e. Select, Dropdown, Multi-Select)input_portfolio
.input_leasing_period
input_leasing_period()
input_floorplan
input_floorplan()
From Auth:
input_email
input_password
input_otp
mod_home
or mod_dashboard
mod_summary
mod_reports
mod_portfolios
mod_properties
mod_floorplans
mod_leasing
Dashboard Module
mod_dashboard()
mod_properties()
mod_reports()
mod_data()
Fetches data from Entrata API and stores it in the database
Components:
Display and manage individual property details
Components:
Leasing Performance Chart:
Handles leasing data and operations
Components:
Generates and displays financial reports
Components:
Creates reusable charts, tables, and graphics
Components:
Goal: Migrate and refactor all
shinydashboard
,shinydashboardPlus
, andbs4Dash
package implementations from the gmhLeasingDashboard package tobslib
.bslib
viapage_navbar()
: replacedashboardPage()
withpage_navbar()
.nav_panel()
andnav_menu()
withinbslib::page_navbar()
to create the top navigation structure.nav_panel()
should call the correspondingmod_*_ui()
UI module function.mod_header_ui()
module that includes the GMH logo, dropdowns, and necessary buttons/links. Apply this in thetitle
argument forpage_navbar()
mod_footer_ui()
modulelayout_columns()
,layout_column_wrap()
, etc.card
's to wrap distinct sections of content within each page/tab.