Seeking Feedback on Project Estimation Tool Development Using Kirby 4

Hi everyone
I’m new to Kirby and I’m starting a project to develop a project estimation tool. I’m currently using Kirby 4, but I’m not entirely sure if I’m leveraging the latest features correctly. I would greatly appreciate any feedback or suggestions from the community on my approach.

Project Overview

The project estimation tool will have a login area where different users have varying permissions to fill out an estimation form

Here’s a breakdown of the elements and permissions

  1. Task Title (Text)
  • Permissions Admins can write and read, users can only read
  1. Task Description (Textarea)
  • Permissions Admins can write and read, users can only read
  • Style Dropdown or mouseover for more information on the frontend
  1. Number of Tasks (Text or Number)
  • Permissions Both admins and users can write and read
  1. Planned Time per Task (Text or Number)
  • Permissions Admins can write and read, users can only read
  1. Total Time for Task (Calculated field)
  • Permissions Both admins and users can read
  1. Internal Comment (Textarea)
  • Permissions Only admins

The task list consists of a large number of tasks (between 200-300), divided into various categories for better organization

Additional Features

  • Dashboard Summarizes the total time and budget needed for the project with visual representations (e.g., charts and graphs)
  • Notifications Admins can send notifications to users when new tasks are added or existing tasks are updated
  • Export Functionality Option to export estimates as PDF
  • Search and Filter To quickly find specific tasks or categories
  • Logging A log system to track changes to the tasks

My Approach

  1. User Roles and Permissions
  • I’ve defined two main roles Admin and User
  • Using Kirby’s built-in user and permissions system to control access to fields and pages
  1. Page Structure
  • A main page for the task list with each task as a subpage
  • Categories are used to organize tasks
  1. Field Definitions
  • Using blueprints to define fields and permissions for each task
  1. Dashboard
  • Planning to use Chart.js or D3.js for visual representations
  1. Additional Features
  • Implementing notifications, export functionality, search and filter, and logging features

Questions

  1. Am I using the latest Kirby 4 features correctly
  2. Is my approach to structuring pages and managing permissions optimal
  3. Are there any built-in Kirby functions or best practices that I might be missing

Thank you in advance for your help and suggestions
Samuel

Is this about frontend features or the Panel?

I honestly don’t care. Are there any limits here?

In the Panel, you cannot limit access to fields, unless you use different blueprints per user role.

Thanks!

Let’s assume i would like to create a protected members area with a login functionality in Kirby. Users should be able to log in and fill out a form, with the logged-in user seeing only the frontend. Is the following approach correct?

  1. Define user roles (Admin, User) in site/blueprints/users.yml.
  2. Create a login form in a template file (e.g., login.php).
  3. Implement login logic in site/controllers/login.php.
  4. Protect the dashboard page and form page to ensure only logged-in users can access it.
  5. Optionally, create a registration form and logic for new users.
  6. Set access permissions for content in blueprints to restrict fields based on user roles.
  7. Add a logout functionality.

Are there any limitations or better practices I should be aware of?

Thank you!