Bliep! Progress

Currently Being Worked On

Currently, the Bliep! Framework is the most worked on. The plan is to complete the framework first to enhance the teachers' experience.

After the website for teachers is done, we will update the app's front-

The Bliep! product will be worked on after the app is finished (or atleast releaseable.).

The Bliep! product's pcb and electrical components are already desgined and practically finished.

Here are a few progress bar's (Note: the progress might move back if new features are required and/or requested.):

Pcb progress

Bliep! Framework

Bliep! App

Bliep! Product Design

Bliep! Website Rework

Bliep! Framework

Framework voor Bliep! docenten website

General Information

The Bliep! Framework has a format for every functions outputs, when calling a function make sure you follow these formats.

The format makes sure that no matter the function you will always have a predictable outcome.

Every function in the Bliep! Framework returns an assosciative array containing the value success and data. The success values is a boolean, this means at success the this value will always be true and the data value will contain the following:

When using a Get() function the data will contain an array of the requested data.
When using an Update() function the data will contain the amount of affected entries
In every other scenario data will probably contain a string containing some info in regards to the completed operation.

When success is false data will contain the error message.

extractResponseData

This is a function you can use to easilly extract success and data from the function used.
For example if (extractResponseData(Auth::CheckLoggedIn(), 'success')) { }; can be used to quickly check if the user is logged in, it also returns some data as an array $user = $result->fetch_assoc(); but we dont need that data in this case.

But we can also take only that data if we want, by changing the 'success' to 'data'


Students

Get

Returns the requested information from the database about a student.

When a "Request Parameter" is set to true all other parameters are not selected and only the parameters that are set to true will be selected.

Request Parameters Type Description
RequestId boolean default = false
RequestName boolean default = false
RequestNumber boolean default = false
RequestEmail boolean default = false
RequestEducationId boolean default = false
RequestSerialNumbId boolean default = false
RequestCohort boolean default = false

The "Where Parameters" can be left empty but once set it will only return the selected data where that value is found.

Where Parameters Type Description
WhereId string default = null
WhereName string default = null
WhereNumber string default = null
WhereEmail string default = null
WhereEducationId string default = null
WhereSerialNumbId string default = null
WhereCohort string default = null

The "RequestedOrder" parameter has 7 values from 0-6 below is a table of there meaning

Additional Parameters Type Description
RequestedOrder string default = 0
Requested Order Description
0 No order
1 order by name ASC
2 order by name DESC
3 order by email ASC
4 order by email DESC
5 order by number ASC
6 order by number DESC

Notes:


Update

The Update() function updates one entry at a time.

The Requested Parameters are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function

Requested Parameters Type Description
RequestedName string default = null
RequestedNumber string default = null
RequestedEmail string default = null
RequestedEducationId string default = null
RequestedSerialNumbId string default = null

The "Where Parameters" are the parameters that select wich student to update. Note: Atleast one "Where Parameter" Should be set.

Where Parameters Type Description
WhereId string default = null
WhereName string default = null
WhereNumber string default = null
WhereEmail string default = null
WhereEducationId string default = null
WhereSerialNumbId string default = null

Notes:


MultiUpdate

MultiUpdate updates more than just one database entry.

The "Requested Parameters" are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function.

Requested Parameters Type Description
RequestedName string default = null
RequestedNumber string default = null
RequestedEmail string default = null
RequestedEducationId string default = null
RequestedSerialNumbId string default = null

The "Where Parameters" are the parameters that select wich student's to update. Note: Atleast one "Where Parameter" Should be set.

Where Parameters Type Description
WhereId string default = null
WhereName string default = null
WhereNumber string default = null
WhereEmail string default = null
WhereEducationId string default = null
WhereSerialNumbId string default = null

Notes:


Add

Adds a student to the student database

Insert Parameters Type Description
InsertName string default = null
InsertNumber string default = null
InsertEmail string default = null
InsertEducationId string default = null
InsertSerialNumbId string default = null
InsertCohort string default = null

Notes:


RandString

Generates a random string with desired length.

Parameter Type Description
length number default = 16

Notes:


ResetPass

Resets the user's password to a randomly generated 8 character string and sends an email to that user including their new password.

Parameter Type Description
WhereId string default = null

Notes:


Delete

Delete does not actually remove the user from the database but sets its visible value to false, this is incase an accidental removal happens.

Parameter Type Description
WhereId string default = null

Notes:


Attendance

Get

The Get() Function returns a list of all students that are checked in, their CheckInTime, CheckOutTime and their SerialNumbIdare returned

The date Parameter should be in YYYY-MM-DD format.

Parameter Type Description
WhereCohort string default = null
WhereEducationId string default = null
WhereSerialNumbId string default = null
Date string default = null

The "RequestedOrder" parameter has 7 values from 0-6 below is a table of there meaning

Additional Parameters Type Description
RequestedOrder string default = 0
Requested Order Description
0 No order
1 order by name ASC
2 order by name DESC
3 order by email ASC
4 order by email DESC
5 order by number ASC
6 order by number DESC

Notes:


Update

The Update() function updates one entry at a time.

The Requested Parameters are the value the variable will be set to. Note: Atleast ONE Requested Parameter should be set to a value when using this function

Requested Parameters Type Description
RequestedSerialNumbId string default = null
RequestedCheckInTime string default = null
RequestedCheckOutTime string default = null

The Where Parameters are the parameters that select wich student to update. Note: Atleast one Where Parameter Should be set.

Where Parameters Type Description
WhereSerialNumbId string default = null
WhereDate string default = null

Notes:


MultiUpdate

MultiUpdate updates more than just one database entry.

The Requested Parameters are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function.

Requested Parameters Type Description
RequestedSerialNumbId string default = null
RequestedCheckInTime string default = null
RequestedCheckOutTime string default = null

The Where Parameters are the parameters that select wich student's to update. Note: Atleast one Where Parameter Should be set.

Where Parameters Type Description
WhereSerialNumbId string default = null
WhereDate string default = null

Notes:


Add

Adds an entry to the checkinout database

Insert Parameters Type Description
InsertSerialNumbId string default = null
InsertCheckInTime string default = null
InsertCheckOutTime string default = null
InsertLicenseId string default = null

Notes:


Delete

Delete() permanently deletes the found entry from the database

Parameter Type Description
WhereCohort string default = null
WhereSerialNumbId string default = null
Date string default = null

Notes:


Education

Get

The Get() Function returns an array with the requested data from the Educations Table from the database.

When a "Request Parameter" is set to true all other parameters are not selected and only the parameters that are set to true will be selected.

Parameter Type Description
RequestedId boolean default = false
RequestedCohorts boolean default = false
RequestedStartingTime boolean default = false
RequestedSchoolId boolean default = false

The "Where Parameters" can be left empty but once set it will only return the selected data where that value is found.

Parameter Type Description
WhereId string default = null
WhereCohort string default = null
WhereStartingTime string default = null
WhereSchoolId string default = null


Update

The Update() function updates one entry at a time.

The Requested Parameters are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function

Requested Parameters Type Description
RequestedCohorts string default = null
RequestedStartingTime string default = null
RequestedSchoolId string default = null

The "Where Parameters" are the parameters that select wich student to update. Note: Atleast one "Where Parameter" Should be set.

Parameter Type Description
WhereId string default = null
WhereCohort string default = null
WhereStartingTime string default = null
WhereSchoolId string default = null

Notes:


MultiUpdate

MultiUpdate updates more than just one database entry.

The "Requested Parameters" are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function.

Requested Parameters Type Description
RequestedCohorts string default = null
RequestedStartingTime string default = null
RequestedSchoolId string default = null

The "Where Parameters" are the parameters that select wich entries to update. Note: Atleast one "Where Parameter" Should be set.

Parameter Type Description
WhereId string default = null
WhereCohort string default = null
WhereStartingTime string default = null
WhereSchoolId string default = null

Notes:


Auth

CheckCredentials

CheckCredentials() is used to technically Login the user. CheckCredentials() On success returns the $user as an associative array. If it failed to login, it always returns false.

Parameter Type Description
name string default = null
email string default = null
password string Does not have default value (can not be empty.).

Notes:


LogOut

Ends the session then restarts the session to verify correct loging out then finally ends the session once more and returns true if success.


CheckTimer


RefreshTimer

Sets timestamp session variable to the current time().


StartSession

Checks if Session is already running and if not it starts a Session.


EndSession

Stops Session.


CheckLoggedIn


FastCheckLoggedIn


AbsenceRequest

Get

The Get() Function returns an array with the requested data from the absencerequest Table from the database.

The Get() Function everytime checks if the returned AbsenceRequest is sent more than 14 days ago and is approved or declined. If those criteria are met the entry will be deleted and not returned among the array of other returned entries.

When a "Request Parameter" is set to true all other parameters are not selected and only the parameters that are set to true will be selected.

Parameter Type Description
RequestId boolean default = false
RequestReason boolean default = false
RequestStartDate boolean default = false
RequestStartTime boolean default = false
RequestEndDate boolean default = false
RequestEndTime boolean default = false
RequestDateSent boolean default = false
RequestStudentId boolean default = false

The "Where Parameters" can be left empty but once set it will only return the selected data where that value is found.

Parameter Type Description
WhereEducationId string default = null
WhereApproved string default = null
WhereStudentId string default = null


Update

The Update() function updates one entry at a time.

The Requested Parameters are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function

Requested Parameters Type Description
RequestedApproved string default = null

The "Where Parameters" are the parameters that select wich entry to update. Note: Atleast one "Where Parameter" Should be set.

Parameter Type Description
WhereAbsenceRequestId string default = null
WhereEducationId string default = null
WhereApproved string default = null
WhereStudentId string default = null

Notes:


MultiUpdate

MultiUpdate updates more than just one database entry.

The "Requested Parameters" are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function.

Requested Parameters Type Description
RequestedApproved string default = null

The "Where Parameters" are the parameters that select wich entries to update. Note: Atleast one "Where Parameter" Should be set.

Parameter Type Description
WhereAbsenceRequestId string default = null
WhereEducationId string default = null
WhereApproved string default = null
WhereStudentId string default = null

Notes:


Teacher

Get

The Get() Function returns an array with the requested data from the teachers Table from the database.

When a "Request Parameter" is set to true all other parameters are not selected and only the parameters that are set to true will be selected.

Parameter Type Description
RequestId boolean default = false
RequestName boolean default = false
RequestEmail boolean default = false
RequestDarkMode boolean default = false
RequestPinnedForm boolean default = false
RequestSchoolId boolean default = false
RequestEducationId boolean default = false
RequestLicenseKey boolean default = false

The "Where Parameters" can be left empty but once set it will only return the selected data where that value is found.

Parameter Type Description
WhereTeacherId string default = null
WhereName string default = null
WhereEmail string default = null
WhereSchoolId string default = null
WhereEducationId string default = null


Update

The Update() function updates one entry at a time.

The Requested Parameters are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function

Requested Parameters Type Description
RequestedName string default = null
RequestedEmail string default = null
RequestedDarkMode string default = null
RequestedPinnedForm string default = null
RequestedSchoolId string default = null
RequestedEducationId string default = null

The "Where Parameters" are the parameters that select wich entry to update. Note: Atleast one "Where Parameter" Should be set.

Parameter Type Description
WhereTeacherId string default = null
WhereName string default = null
WhereEmail string default = null
WhereSchoolId string default = null
WhereEducationId string default = null

Notes:


MultiUpdate

MultiUpdate updates more than just one database entry.

The "Requested Parameters" are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function.

Requested Parameters Type Description
RequestedName string default = null
RequestedEmail string default = null
RequestedDarkMode string default = null
RequestedPinnedForm string default = null
RequestedSchoolId string default = null
RequestedEducationId string default = null

The "Where Parameters" are the parameters that select wich entries to update. Note: Atleast one "Where Parameter" Should be set.

Parameter Type Description
WhereTeacherId string default = null
WhereName string default = null
WhereEmail string default = null
WhereSchoolId string default = null
WhereEducationId string default = null

Notes:


Delete

Delete does not actually remove the teacher from the database but sets its visible value to false, this is incase an accidental removal happens.

Parameter Type Description
WhereId string default = null

Notes:


School

Get

The Get() Function returns an array with the requested data from the schools Table from the database.

When a "Request Parameter" is set to true all other parameters are not selected and only the parameters that are set to true will be selected.

Parameter Type Description
RequestName boolean default = false
RequestLocation boolean default = false

The "Where Parameters" can be left empty but once set it will only return the selected data where that value is found.

Parameter Type Description
WhereId string default = null


LoggedHours

Get

The Get() Function returns an array with the requested data from the schools Table from the database.

When a "Request Parameter" is set to true all other parameters are not selected and only the parameters that are set to true will be selected.

Parameter Type Description
RequestId boolean default = false
RequestStudentId boolean default = false
RequestSerialNumb boolean default = false
RequestPresent boolean default = false
RequestAbsent boolean default = false

The "Where Parameters" can be left empty but once set it will only return the selected data where that value is found.

Parameter Type Description
WhereId string default = null
WhereStudentId string default = null
WhereSerialNumbId string default = null
WhereAbsentBiggerThan string default = null


Update

The Update() function updates one entry at a time.

The Requested Parameters are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function

Requested Parameters Type Description
RequestedPresent string default = null
RequestedAbsent string default = null

The "Where Parameters" are the parameters that select wich entry to update. Note: Atleast one "Where Parameter" Should be set.

Parameter Type Description
WhereId string default = null
WhereStudentId string default = null
WhereSerialNumbId string default = null

Notes:


MultiUpdate

MultiUpdate updates more than just one database entry.

The "Requested Parameters" are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function.

Requested Parameters Type Description
RequestedPresent string default = null
RequestedAbsent string default = null

The "Where Parameters" are the parameters that select wich entries to update. Note: Atleast one "Where Parameter" Should be set.

Parameter Type Description
WhereId string default = null
WhereStudentId string default = null
WhereSerialNumbId string default = null

Notes:


SerialNumber

Get

The Get() Function returns an array with the requested data from the serialnumber Table from the database.

When a "Request Parameter" is set to true all other parameters are not selected and only the parameters that are set to true will be selected.

Parameter Type Description
RequestId boolean default = false
RequestSerialNumber boolean default = false

The "Where Parameters" can be left empty but once set it will only return the selected data where that value is found.

Parameter Type Description
WhereId string default = null
WhereSerialNumber string default = null


Update

The Update() function updates one entry at a time.

The Requested Parameters are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function

Requested Parameters Type Description
RequestedSerialNumber boolean default = null

The "Where Parameters" are the parameters that select wich entry to update. Note: Atleast one "Where Parameter" Should be set.

Parameter Type Description
WhereId string default = null
WhereSerialNumber string default = null

Notes:


Delete

Delete() Only accepts ONE parameter and NEEDS that parameter for safety and to prevent accidental removal from the database.

Parameter Type Description
WhereId string default = null

Notes:


PinnedPage

Get

The Get() Function returns an array with the requested data from the pinnedpage Table from the database.

When a "Request Parameter" is set to true all other parameters are not selected and only the parameters that are set to true will be selected.

Parameter Type Description
RequestId boolean default = false
RequestPage boolean default = false

The "Where Parameters" can be left empty but once set it will only return the selected data where that value is found.

Parameter Type Description
WhereId string default = null
WherePage string default = null


Add

Adds an entry to the pinnedpage database

Insert Parameters Type
PinnedPage string

Notes:


Delete

Delete() Only accepts ONE parameter and NEEDS that parameter for safety and to prevent accidental removal from the database.

Parameter Type Description
WhereId string default = null

Notes:


Update

The Update() function updates one entry at a time.

The Requested Parameters are the value the variable will be set to. Note: Atleast ONE parameter should be set to a value when using this function

Requested Parameters Type Description
RequestedPinnedPage boolean default = null

The "Where Parameters" are the parameters that select wich entry to update. Note: Atleast one "Where Parameter" Should be set.

Parameter Type Description
WhereId string default = null

Notes:


This is currently the end of the Bliep! Framework


Bliep! Controller

Alle API's die de frontend kan gebruiken voor de docenten website.

Login.php

The identifier can be both an email or a username, the API will automatically check this and use the correct functions.

Parameter Type Description
identifier string default = null
password string default = null

Notes:


GetPinnedPages.php

Returns success:true when executing succesfully and data:* as an array of all the pages the teacher has pinned.

Returns success:false and data:"No pinned pages found" if no pages are found.

Notes:


GetAbsenceRequests.php

Returns success:true when executing succesfully and data:* as an array of all the absence requests.

Returns success:false and data:"No absence requests found" if no pages are found.

Notes:


GetStudentAttendance.php

Returns an assosciative array with the needed data in the following format:

- 'student_name' => $student['StudentName'],
- 'checked in' => false,
- 'check in time' => "",
- 'checked out' => false,
- 'check out time' => ""

Where the values will ofcourse change depending on the student.

Here is an example of the returned json:

{
 "success": true,
 "data": [
   {
     "student_name": "Alice Smith",
     "checked in": true,
     "check in time": "2025-02-10 08:00:00",
     "checked out": true,
     "check out time": "2025-02-10 16:00:00"
   },
   {
     "student_name": "Bob Johnson",
     "checked in": false,
     "check in time": "",
     "checked out": false,
     "check out time": ""
   },
   {
     "student_name": "Charlie Brown",
     "checked in": true,
     "check in time": "2025-02-10 09:00:00",
     "checked out": false,
     "check out time": ""
   }
 ]
}


This function accepts the following input parameters:


EditStudentAttendance.php

Returns a assosciative array's within an array data that shows what action was taken and if any errors occured in the following format:

{
 "success": true,
 "data": [
   {
     "Student_id": "123",
     "SerialNumbId": "SN12345",
     "attendance_action": "updated",
     "attendance_success": true,
     "logged_hours_updated": true
   },
   {
     "Student_id": "456",
     "SerialNumbId": "SN67890",
     "attendance_action": "added",
     "attendance_success": true,
     "logged_hours_updated": true
   },
   {
     "Student_id": "789",
     "SerialNumbId": "SN24680",
     "attendance_action": "updated",
     "attendance_success": false,
     "logged_hours_updated": true
   }
 ]
}



The input parameters are as follows:


EditStudent.php

Returns the following at success, at failure it will return success = false and data is the error message.

The following are the input parameters:

I recommend Student_Id be hidden from the actual user on the front-end.


BulkStudentAdd.php

Uses a uploaded csv to bulk add students.

The following are the input parameters:

Returns a json of the response of every Students::Add(), for every student there will be a success value and a data value.


AddStudent.php

The following are the input parameters:

Returns success = true if it added the student successfully otherwise success = false.


RemoveStudent.php

The following are the input parameters:

Returns success = true if the student was removed successfully otherwise success = false.


GetStudents.php

The following are the input parameters:

Returns success = true if the students were fetched successfully otherwise success = false.

data includes the json of all the students that were fetched.