Giter VIP home page Giter VIP logo

driveio's People

Contributors

timzolleis avatar

Watchers

 avatar

driveio's Issues

STORY-AddAbilitySystem

Add ability-based access control

Date: 2023-07-16

Status: implemented

Context

For controlling access to certain routes or managing permissions for performing actions (deleting users etc) a role based system was in place. Since an ability-based system can be more fine-grained and users can be assigned abilities independent from their role, such a system is superior and grants quicker and better control who can access what.

Decision

The role based system will be replaced by an ability-based access control.

Consequences

Roles have no impact on access control, but instead serve as a template which abilities a user should have.

The prisma schema, the database and the access control checks on each loader and action have to be updated. (Incrementally)

STORY-UpdateBookingPage

Update the booking mechanism

Date: 2023-07-16

Status: proposed

Context

When booking a driving lesson, several constraints have to be checked and criteria to be met. The current mechanism does not regard all constraints and thus leads to impossible situations

Decision

The mechanism has to be reworked to feature simpler but more validation mechanisms.

Checking if a slot is bookable will be based on the following steps:

  1. Check if the user is allowed to book (ability, expiration)
  2. Check if the user has not overbooked this week.
  3. Check if the day is available (Weekend, Holiday)
  4. Check if the day features enough available slots for the desired slot length
  5. Check the stage of the user and display the respective lesson types

In the action, the time of the slot should be double-checked to be sure that nobody else has booked in the meantime or the instructor has added a blocked slot / manually added someone.

Consequences

The loader and action of the booking page have to be reworked, aswell as the schema has to be edited

  • Add the lesson type
  • Add the booking time

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.