Best Practices for Iridium
These are recommendations, not laws. Want to contribute your recommendations?
Project structure
It's recommened to group together your Iridium specific files into one general section in your application.
Here is an example of how to organize your Iridium project.
sh
# Root Project Dir
-- iridium/
-- panels/
-- admin_panel.go # Your adminstrator panel
-- user_panel.go # Your user panel
-- resources/
-- users/ # A resource for your users
-- user_resource.go # Create your resource + form + table
-- pages/ # Define your custom pages
-- user_list.go # Your user's list/table view
-- user_create.go # Your user's create page
-- user_edit.go # Your user's edit page
-- user_view.go # Your user's view page
-- widgets/ # Define user specific widgets
-- user_count.go
-- appointments/ # Another resource folder for appointments
-- ...
-- pages/ # General Pages
-- external/ # Manage pages outside panels
-- landing_page.go
-- custom/ # Manage custom pages inside panels
-- custom_page.go
-- widgets/ # General widgets
-- charts/ # Chart widgets
-- appointment_by_location.go # Example Widget
-- stats/ # Statistics widgets
-- appointment_counts.go # Example Widget
-- overrides/ # A place to house your overrides
-- views/ # view overrides
-- custom_view.go # A custom view override
-- resolvers/ # resolver overrides
-- custom_resolvers.go # A custom resolver override
-- custom/ # A place to house some custom components
-- fields/ # Form Fields
-- custom_form_field.templ # A custom form field
-- table/ # Table Columns
-- custom_column.templ # A custom table fieldReading List
- Hypermedia-Driven Applications - Carson Gross, 2022
- Web Security Basics (with htmx) - Alexander Petros, 2024