customization – Assistance with plugin choice for Driving School Booking System

Driving School Website | Scenario
I’m building a Driving School Website for a client where their customers can log in to their personal accounts and make bookings for their appointments (which are limited to 10 hrs worth of lessons which can be either 1hr/2hr sessions).
I also might want to implement a payment system where customers can buy the 10 lessons package and immediately after the purchase get their auto-generated log-in details. Also, they should be able to buy additional lessons and then the original 10hr limit should increase.

Plugin Assistance
Which plugins should I use?
I did quite a lot of research on booking systems but can’t really find anything for this project. I saw something about LMS’s but not sure if that fits this project.

Thanks for the help in advance.

mongodb – DB Design: Tutor booking system

Overview

The system should allow users (tutors in this case) to add their own availability time slots. For example, a tutor says that s/he is available this specific week on Thursday from 5.30pm to 6.30pm, then from 8pm to 9pm. For simplicity, the duration of the availability == the duration of the session that may or may not be booked by a tutee.

Each tutor is assigned to specific courses and the tutor’s availability should show for all the classes s/he is assigned to.

Tutors also have access to their calendars where they see all the availability they have added for a specific week, and can either delete or modify some, and of course add new ones.

The application is small to medium.

Scenario

When a tutee navigates to a course page, s/he looks at all available tutors and their corresponding time slots, chooses the suitable timeslot, provides some details about the session (specific chapter, etc.), then submit his/her request. On server-side, a session is created according to the timeslot, and the timeslot is flagged as booked.

Models

I am using MongoDB + mongoose. This is what I have so far:

const course = new mongoose.Schema({
  tutors: ({ type: mongoose.Schema.Types.ObjectId, ref: 'User' }),
  title: String,
  description: String,
})

const availability = new mongoose.Schema({
  user: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },
  booked: Boolean,
  startTime: Date,
  endTime: Date
})

There are some corner cases that made me wonder whether I’m on the right track or not. For example, if a tutee books a session based on a specific availability, that availability is flagged as booked. All it takes for the tutor to appear available again is for him/her to delete the availability, then add a new one again at the same time. We would end up with 2 sessions taking place at the same time, which is not accepted. Of course I can add a unique index on the start and end times, but overlapping sessions/availability are also a problem.

What do you think about this design? Do you see any potential limitations/problems with this design? Is there anything you would do differently? Do those corner cases stem from a bad design, or there isn’t much that can be done for that other than application level checking?

I tried looking for similar problems but couldn’t really make strong correlations between my case and the generic hotel/room/booking reservation systems.

Thank you.

windows – How do you run an application as TrustedUser or SYSTEM using without external programs?

This question is not a duplicate of other questions that have to do with running programs as TrustedInstaller or SYSTEM, because this one is specifically about not using external programs.

Using only the Command Prompt and/or PowerShell, but without external programs or commands, how can you run an application as TrustedInstaller or SYSTEM?

20.04 – VDI – Failed to Start System Security Services Daemon

I am trying to up a VDI imagem from osboxes (Ubuntu 20.10 or 20.04) with oracle virtualbox (v. 6.1.18).

The problem occurs when the Ubuntu is loading. I posted a image pointing the error. I saw some other posts in here suggesting disable the sssd.service through systemctl but I am not able to to that because I can’t get there – in the OS interface.

So, is there something that I should try?

Thanks in advance!

windows 10 – Update system powershell

I want to update the “system” PowerShell, the one accessible through WIN+x i, I cannot copy over PowerShell 7 files to the system PowerShell, as it is always in use. So I am suspecting that the system should be untouched, if there is no way to update it, is it possible to reroute the mentioned shortcut to run PowerShell 7?

About Blue Screen of Windows System after starting Mathematica 12.2/12.1 Win10

I found a way to solve the problem. Windows 10 KB5000802 Security Update is the culprit and it needs to be uninstalled. Then mathematica can work normally.

But there is a problem, Win10 will automatically update which is very annoying, because it will install KB5000802 Security Update again and Blue Screen will happen again. So you should disable automatic updates in Win10, then mathematica will work again, but that means your computer will never have a security update, So you have to make a trade-off.

One thing needs to be mentioned more, I found out that my colleague’s computer also has version 12.1 installed, also has Win10 KB5000802 Security Update installed, but his compouter can run mathematica normally. And my computer is not even if the computer system is reinstalled. This is a metaphysical thing and I don’t know why.

Operations for uninstalling security updates and disabling system updates are readily available online, you can find them everywhere. Hope the above description can help those who encounter this problem.


KB5000802 is also a culprit for the failure of some printers to print, that’s the problem I had before, if you hit the print button and the printer didn’t respond, this could be the reason.

Could we prove the system of linear equation is consistent $iff$ the rank $=$ # of rows deducitvely?

Proof subject: a system of linear equation(SLE) $mathbf{Ax=b}$ is consistent $iff$ the rank of $mathbf{A}$ equals to the number of rows of $mathbf{A}$

Description:

  1. I want to prove this deductively but not inductively.
  2. I have read the proof of a SLE is consistent $iff$ rank$((textbf {A}))=$ rank$((textbf{A}|~textbf{b}))$. It uses a concept of dimension. Like, It’s in the dimension of $textbf A$, so the system must be consistent because $textbf b$ is image of $T_textbf A$. But I want other proofs without this dimension thing. or I want someone could give a proof unfolding this relation between dimension and consistency because for what I’ve concerned, it’s not straightforward enough as a proof by just saying if it’s in the dimension of $textbf A$, then blablabla….
  3. I have read a proof like: all of situation where the SLE is inconsistent must have a last zero row after eliminated into reduced Echelon Form. It’s a more inductive way and definitely not what I want.

ios – Are messages included in iCloud System backup if iCloud Messages is disabled?

With iCloud Backup, there are two ways data is stored: Apps Using iCloud and Backups.

The Backups portion is the equivalent of a full backup performed iTunes.
Apps Using iCloud is app data written to the cloud storage, but accessible by apps and services outside of restoring your phone from a backup.

On iOS, it is possible to have your Photo Library backed up with the system backup while keeping iCloud Photo Library feature turned off.

When browsing the system backup options, Photo Library appears as an option but Messages does not. This leads me to believe that Messages could be excluded from the system backup.

If iCloud Messages as a service is turned off, are Messages data still included in the iCloud full system backup of the phone?

design patterns – Implementing an efficient versioning system with high update per second

I need a way to track changes to certain fields of documents throughout the time, where incoming document count is about 10K docs/second. Let me give an example:

A JSON document arrives:

{
  userId: 123,
  userName: "joe",
  userBio: "I am Joe",
  postCount: 462
}

If either userName or userBio changes, a new document should be indexed/saved. If postCount changes, latest document should be updated with the new postCount value.

An easy way is to add an updatedAt field to document when it’s saved or updated. Before potentially saving each document, query the db for the latest document with the given userID, if there’s a document with the same userName and userBio, just update postCount, otherwise insert a new document/row.

This approach is obviously not desirable with such high incoming number of documents because it requires 10K queries per second with sorting to get the latest document saved.

Another approach I tried is using Solr’s SignatureUpdateProcessorFactory. It basically generates a hash using the userId, userName and userBio fields, then deletes the existing document with that hash and replaces it with the new document. This way a separate query is not needed, and a new document is created only when those fields change. If they didn’t change, only postCount is updated since that document will have the same hash value.

This approach works good and is easy to implement, but it has one serious problem. When a user switches back to an old username s/he used in the past, the past document is updated instead of creating a new one, which causes to lose the old information. When username changes are like:

john -> jane -> john

Solr would only have two documents with john and jane userNames.

I’m using Solr and MongoDB in my project as data storage, so solutions using these would be perfect, but this may be a general problem unrelated to a specific technology so other solutions are welcome too!

SQL Server – Is there a way to query the Size and Space available settings for each Database, including system databases on an instance?

I am trying to query the default database properties as seen in the picture below for all databases on an instance, including system databases.

I’ve used various scripts such as the following, but I’m not sure exactly where those two fields are stored.

SELECT 
      database_name = DB_NAME(database_id)
    , log_size_mb = CAST(SUM(CASE WHEN type_desc = 'LOG' THEN size END) * 8. / 1024 AS DECIMAL(8,2))
    , row_size_mb = CAST(SUM(CASE WHEN type_desc = 'ROWS' THEN size END) * 8. / 1024 AS DECIMAL(8,2))
    , total_size_mb = CAST(SUM(size) * 8. / 1024 AS DECIMAL(8,2))
FROM sys.master_files WITH(NOWAIT)
WHERE database_id = DB_ID() -- for current db 
GROUP BY database_id

enter image description here

Thank you for your help.