Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
692 commits
Select commit Hold shift + click to select a range
49c3dd4
Temporary fix before implementing custom checks
May 25, 2022
f46049c
Fixed isAdmin and admin role de-sync
May 25, 2022
1d5ce21
Resolved permissions for resources
May 25, 2022
af469a6
Added roles to calendar + fixed errors
May 26, 2022
c3e2604
Fixed admin auth for roles
May 26, 2022
d7d7a3d
Added user roles to admin
May 26, 2022
1817107
Replaced isTeacher & isAdmin with respective roles
May 26, 2022
21ee7bf
Fixed typo
May 26, 2022
fb0d9c4
Added pagination to every controller
May 27, 2022
eddba63
Fixed pagination info repetition bug
May 27, 2022
2ff396b
Admin site resources and resources frontend
Cristina-SM May 27, 2022
751a85c
Merge branch 'develop' into features/cristina
Cristina-SM May 27, 2022
4d00c57
Added pagination with serializer
May 27, 2022
1586812
fixed some bugs in admin site and merge develop
Cristina-SM May 29, 2022
b3d53e6
fixed some bugs in admin site and implement new settings in resources…
Cristina-SM May 29, 2022
a20fd07
delete Service
Cristina-SM May 29, 2022
1513166
Merge branch 'develop' into features/cristina
Cristina-SM May 29, 2022
55faecc
Calendar sessions batch loading
Cristina-SM May 30, 2022
0441298
pull dev
adriceniza May 30, 2022
a9c0120
pull dev
adriceniza May 30, 2022
3d1385a
Delete node modules
May 30, 2022
f0c6d58
New Features + important bug fixes added
May 31, 2022
ffa8809
Batcher crud in admin site
Cristina-SM May 31, 2022
b64257e
Added versioning and production config for deploy
May 31, 2022
5a23df0
Merge branch develop into features/cristina
Cristina-SM May 31, 2022
8838420
merge dev
adriceniza Jun 1, 2022
19db936
merge done
adriceniza Jun 1, 2022
0d5f06f
update develop branch
Cristina-SM Jun 2, 2022
4fdc3b4
Merge branch 'develop' into features/cristina
Cristina-SM Jun 2, 2022
765de11
Begun process of adaptation for nginx
Jun 3, 2022
d4a95f9
Updated nginx config
Jun 3, 2022
acb79b8
Updated to working nginx config
Jun 3, 2022
3d64a20
Moved server config files
Jun 3, 2022
90685b9
Implements pagination and modal responsive in admin site
Cristina-SM Jun 4, 2022
f4fa07e
implements admin site last connection
Cristina-SM Jun 6, 2022
a56a7f4
enrollments only one per subject user
Cristina-SM Jun 6, 2022
d6b3dab
Functional admin and frontend on nginx
Jun 6, 2022
aedf475
Make app run on api/v1
Jun 8, 2022
914432b
Various tries and fixes for deployment
Jun 14, 2022
8abd8e8
Added working language switcher for frontend
Jun 14, 2022
9fe8538
Added languages to login and modal
Jun 14, 2022
4ca4ffb
Added languages to home
Jun 14, 2022
9632f9b
Added translations to calendar
Jun 14, 2022
a2021dd
Added languages to chats
Jun 14, 2022
bee3fb4
Added languages to management panel
Jun 14, 2022
578b28a
Added languages to the menu
Jun 15, 2022
0dd75cb
added languages to pswd recovery
Jun 15, 2022
40bc81b
Added languages to resources
Jun 15, 2022
fb8c3e6
fix some bug, implement language in admin site and responsive
Cristina-SM Jun 15, 2022
960e0d5
Added frontend languages + storage files fix
Jun 20, 2022
3fbfefb
Removed backend .env
Jun 20, 2022
f0e1ab9
Removed admin .env
Jun 20, 2022
9becaf8
Fixed /api/v1 mount point for urls and files
Jun 20, 2022
9420172
Added user roles section
Jun 20, 2022
02fdcd6
Added ability to add, view and delete roles
Jun 21, 2022
ec0675d
Added dynamic update + languages + modals
Jun 21, 2022
0cca465
Fixed search self on chat creation
Jun 22, 2022
a2532fa
Added menu for extra information
Jun 23, 2022
732954e
Fixed group chat create search + added chat info
Jun 25, 2022
20f6ca9
extrafields & notifications
adriceniza Jun 27, 2022
1420206
merge develop with notifs and extrafields
adriceniza Jun 27, 2022
199a7a2
merge dev & feat/adri/ ~ notifs & extrafields
adriceniza Jun 27, 2022
3293f77
Various Fixes
Jun 27, 2022
347cef7
Syncing branch with develop
Jun 27, 2022
2e49949
conflict
adriceniza Jun 27, 2022
ab1eb9d
merge fixes
adriceniza Jun 27, 2022
f3def8d
various fixes
adriceniza Jun 27, 2022
840227c
various fixes
adriceniza Jun 27, 2022
e006d67
extrafields merge various fixes
adriceniza Jun 27, 2022
d7f6e79
Merge branch 'develop' into features/skinnydevi
Jun 27, 2022
895d7eb
Fixed standard modal styling
Jun 27, 2022
9f734d9
General refactoring
Jun 27, 2022
30b1a3d
Changed db name
Jun 27, 2022
21c8672
Correctly implemented new search fn for user cfg
Jun 27, 2022
542236d
m
adriceniza Jun 27, 2022
8cfaca7
Added docs for ease of use
Jun 27, 2022
591ee5e
Added course search bar
Jun 27, 2022
72e59fb
Added new search bar to subjects
Jun 27, 2022
699310e
Updated useFilter to use context
Jun 28, 2022
8d31f74
Fixed language not updating + empty search fix
Jun 28, 2022
7902931
Added new search bar for sessions & events
Jun 28, 2022
b3f04eb
Added new search to enrollments
Jun 28, 2022
b30c263
Added search bar to teachers
Jun 28, 2022
926a1a7
Added new search bar for resources
Jun 28, 2022
07fbb83
Added new search bar to roles
Jun 28, 2022
99c41c2
Added new search bar to chat cfg
Jun 28, 2022
3b2e4bb
Added new search bar to chat participants
Jun 28, 2022
946c71f
Added remote filtration to users
Jun 28, 2022
cf1a90b
Added remote filtering for courses
Jun 28, 2022
55c1824
Google login implemented and some hotfixes
adriceniza Jun 28, 2022
fe61563
Added remote filtration to subjects
Jun 28, 2022
ac74322
Added fragment to remove runtime error
Jun 29, 2022
bd87cee
Event type tips & tricks
Cristina-SM Jun 29, 2022
168f0a1
Resource creation author is logged-in user
Cristina-SM Jun 29, 2022
04e5822
merge/features-cristina
Cristina-SM Jun 29, 2022
e9fc87b
clear event
Cristina-SM Jun 29, 2022
f24d649
Merge branch 'features/cristina' into develop
Cristina-SM Jun 29, 2022
7574784
fix bug standard Modal
Cristina-SM Jun 29, 2022
1fcd068
fixed bug visual in initialization
Cristina-SM Jun 29, 2022
d6833a7
Added remote filtration for resources
Jun 29, 2022
20ad446
Added remote filtration to sessions
Jun 29, 2022
3807a37
Added order param for future use
Jun 29, 2022
d7f5581
Added remote filtration to events
Jun 29, 2022
6b7f8a5
Added filter routes
Jun 29, 2022
a5e8cb4
Added remote filtration to tuitions
Jun 29, 2022
133ce2c
Added remote filtration to teachers
Jun 29, 2022
dda0510
Added remote filtration to roles
Jun 29, 2022
8b87064
Added remote filtration to chat bases
Jun 29, 2022
80075df
Added remote filtration to chat participants
Jun 29, 2022
b6dc323
Corrected data types for checkbox and number in ef
Jun 30, 2022
e18ddd9
Added remote filtering including extra fields
Jun 30, 2022
b4e798b
Added extra fields to tables
Jun 30, 2022
eb12f9b
Converted language prop delegation to context
Jun 30, 2022
3e6fc9f
Added save function to last component viewed
Jun 30, 2022
39bf3de
Modified navbar to force user create institution
Jun 30, 2022
280dd2f
Updated version numbers
Jun 30, 2022
b706176
fix bug in admin site
Cristina-SM Jun 30, 2022
167440d
Added joint filtration with extra fields
Jul 1, 2022
3da4def
Fixed params resetter for each component
Jul 1, 2022
086e814
Fixed mixed filtration bug
Jul 1, 2022
fcca6a8
Added sorting ability to tables
Jul 4, 2022
4ab9647
Changed how NGINX connects to each container
Jul 5, 2022
568a99e
Added configuration for ports and subdomains
Jul 6, 2022
e02126d
Various fixes + add deployment guide
Jul 7, 2022
eb089e9
Redesigned query filtration system
Jul 7, 2022
c94b786
Changed bin
Jul 7, 2022
0a6298d
Added code documentation + fixes and refactoring.
Jul 7, 2022
3ba8f7e
implementing login either with username and email
adriceniza Jul 9, 2022
40847f8
improved search filter system pull
adriceniza Jul 9, 2022
377f82d
merge
adriceniza Jul 9, 2022
2af0961
Added docs to general components
Jul 11, 2022
26f7cc8
Finished documenting frontend.
Jul 11, 2022
d3d6dfc
+name, surname - login either w username or email
adriceniza Jul 11, 2022
a077b00
error fix
adriceniza Jul 11, 2022
c3ae4d5
show user username instead of userinfos username
adriceniza Jul 11, 2022
e8e56c6
Profile menu adapted to new fields &improve styles
adriceniza Jul 11, 2022
728c852
some merge changes
adriceniza Jul 11, 2022
ff40570
Added docs to the administration app
Jul 11, 2022
b54e056
Updated the main README
Jul 12, 2022
7bbeb0c
Added updated app screenshots
Jul 12, 2022
5db36d6
Added images to readme
Jul 12, 2022
0ce371f
Added developer notes and guides
Jul 12, 2022
4b3fd10
Fixed headings
SkinnyDevi Jul 12, 2022
440e0d6
Added docs to code
Jul 12, 2022
b56ba6b
Fixed login for desktop
Jul 14, 2022
022272a
Adapted menu for desktop
Jul 14, 2022
b08b42f
Added languages to navbar
Jul 14, 2022
ef8f312
Various changes
Aug 25, 2022
6ef4d2d
Fixed error
Aug 25, 2022
f5fd44e
Adapted most to desktop
Aug 25, 2022
97f3796
Updated app versions
Aug 25, 2022
3568582
Fixed logout bug
Aug 25, 2022
b9bc283
Update to message
Aug 25, 2022
8a557a4
https version
tcrurav Sep 3, 2022
461b03d
https version
tcrurav Sep 3, 2022
ac17d63
It works in dev mode with docker
tcrurav Sep 4, 2022
d1fa74e
It works in development with docker better organized
tcrurav Sep 4, 2022
449dfc8
It works in production using https://somosbluecity.es:8443 and https:…
tcrurav Sep 4, 2022
f968f89
it works in hosting
tcrurav Sep 12, 2022
39047ac
fixed some bugs regarding admin panel Sessions and Users sections
mianfiga Sep 14, 2022
e67d74c
updated ruby version
mianfiga Sep 16, 2022
5d0cab7
fixed to chat
mianfiga Sep 26, 2022
e891569
Extrafields woring version
mianfiga Sep 26, 2022
1b20971
Fixed backend notification system, changed backend user dropdown to t…
mianfiga Oct 4, 2022
4f931b0
fixed profile username change, unread chat order, chat list z-index
mianfiga Oct 9, 2022
270b586
updating chat seen for unread chat info
mianfiga Oct 9, 2022
045a4e3
session links fixed
mianfiga Oct 9, 2022
d3c2bc0
README.md changes
tcrurav Oct 10, 2022
94b4e5a
README.md changes
tcrurav Oct 10, 2022
e23f7b7
Development issues in README.md
tcrurav Oct 11, 2022
93ea6df
improved admin user interface, fixed user filtering
mianfiga Oct 11, 2022
ea3b249
wq
mianfiga Oct 13, 2022
f58ba70
Fixed order issue in user list
mianfiga Oct 13, 2022
ad75656
Making deployment instructions easier
tcrurav Oct 14, 2022
fb974b8
Some README.md fixing
tcrurav Oct 14, 2022
6be709d
Added Danish tranlations
Oct 14, 2022
4546c05
git clone added to README.md
tcrurav Oct 14, 2022
8c66135
fixed hiding menu option in desktop menu when disabled
mianfiga Oct 14, 2022
185cbc4
Merge pull request #1 from eduapp-project/sosu
mianfiga Oct 14, 2022
5368599
Merge pull request #2 from eduapp-project/rincon
mianfiga Oct 14, 2022
05a16f0
some .env changes
tcrurav Oct 14, 2022
aeb1c44
fixed filtering of enrollments
mianfiga Nov 10, 2022
aed100c
frontend danish translations
mianfiga Nov 10, 2022
7f5f4cf
login feedback on failing login
mianfiga Nov 14, 2022
4bee289
course API fixed
mianfiga Nov 14, 2022
de6973f
fixed subjects api
mianfiga Nov 16, 2022
09ffe06
fixed session api
mianfiga Nov 16, 2022
a09c322
Added Romanian translations
mianfiga Nov 17, 2022
5591523
Added romanian flag to admin site
mianfiga Nov 30, 2022
0ecfc63
Merge pull request #3 from eduapp-project/develop
mianfiga Nov 30, 2022
d0c98c6
reorganized inline creation form part I
mianfiga Nov 30, 2022
52ed2e3
Merge pull request #4 from eduapp-project/develop
mianfiga Nov 30, 2022
44f2a5e
Fix imports and add enrollment
PdgarHern Dec 16, 2022
fd52eea
Add subject user enrollment
PdgarHern Dec 20, 2022
aec4044
Merge pull request #5 from eduapp-project/issue/5423
mianfiga Jan 16, 2023
3db5745
Change frontend lateral menu
PdgarHern Dec 27, 2022
c8a6804
Merge pull request #6 from eduapp-project/issue/5436
mianfiga Jan 16, 2023
dd7e00b
Change frontend resources dropdown
PdgarHern Dec 27, 2022
678ad7d
Merge pull request #8 from eduapp-project/issue/5438
mianfiga Jan 16, 2023
2117006
Merge pull request #9 from eduapp-project/develop
mianfiga Jan 16, 2023
2ff38b4
Add deletion confirmation box
PdgarHern Jan 17, 2023
f02b4a1
Add participant in enrollment
PdgarHern Jan 17, 2023
b095a0d
Change language icons
PdgarHern Jan 18, 2023
84ffed8
Add subject enrollments to profile
PdgarHern Jan 18, 2023
b913384
Change profile to separate page
PdgarHern Jan 18, 2023
3f6b296
Merge pull request #10 from eduapp-project/issue/5468
mianfiga Jan 23, 2023
0fce2db
Merge pull request #11 from eduapp-project/issue/5477
mianfiga Jan 23, 2023
d242a69
Add functionality related with calendar sessions
PdgarHern Jan 23, 2023
90717be
Merge pull request #12 from eduapp-project/issue/5477-2
mianfiga Jan 24, 2023
ce00a35
some .env changes
tcrurav Oct 14, 2022
cb97704
Save avatar image in local stoarage instead of firabase
AleVeraM Jan 24, 2023
a80bdeb
Fix url image
AleVeraM Jan 24, 2023
4f20166
Fix saveUserOffile
AleVeraM Jan 24, 2023
0def3f1
Merge branch 'issue/5482' of github.com:eduapp-project/eduapp into is…
AleVeraM Jan 26, 2023
434eebf
Fix "is repited" modal
AleVeraM Feb 1, 2023
b29a096
some .env changes
tcrurav Oct 14, 2022
e44f086
Add functionality related with calendar sessions
PdgarHern Jan 23, 2023
7327e72
Fix create groupchat
AleVeraM Feb 6, 2023
3e6a9a7
Fix errors fo create groupchat
AleVeraM Feb 6, 2023
aca5af0
Merge pull request #13 from eduapp-project/issue/5482
mianfiga Feb 6, 2023
539e03f
Merge pull request #16 from eduapp-project/fix/sessions
mianfiga Feb 6, 2023
04599f2
Add functionality related with calendar sessions
PdgarHern Jan 23, 2023
9c53011
Fix create groupchat
AleVeraM Feb 6, 2023
8603800
Complite rebase with development
AleVeraM Feb 7, 2023
20467cc
Merge pull request #15 from eduapp-project/issue/5494
mianfiga Feb 7, 2023
465cc7f
Merge pull request #17 from eduapp-project/develop
mianfiga Feb 7, 2023
4007ee3
added course_id to create on subject controller
mianfiga Feb 7, 2023
752be64
Merge pull request #19 from eduapp-project/hotfix/course_id_missing
mianfiga Feb 7, 2023
7973603
minor hotfixes
mianfiga Feb 8, 2023
8cbaf51
Merge pull request #18 from eduapp-project/hotfix/course_id_missing
mianfiga Mar 1, 2023
2af13ef
Merge pull request #23 from eduapp-project/develop
mianfiga Mar 1, 2023
4493ada
Add push notifications
AleVeraM Mar 1, 2023
5bb6c2e
minor hotfixes
mianfiga Feb 8, 2023
089fbd8
Add push notifications
AleVeraM Mar 1, 2023
45ea196
Merge branch 'issue/5555' of github.com:eduapp-project/eduapp into is…
AleVeraM Mar 1, 2023
051a1cf
Merge pull request #24 from eduapp-project/issue/5555
mianfiga Mar 1, 2023
9ab2d8f
Merge pull request #25 from eduapp-project/develop
mianfiga Mar 1, 2023
693a57c
fix: User profiles settings
PdgarHern Mar 2, 2023
a0dad61
fix: Add chat participants in enrollment
PdgarHern Mar 2, 2023
8640e67
fix: Group chat creation fails to create
PdgarHern Mar 2, 2023
2cf6144
fix: Double enrollment to chat
PdgarHern Mar 2, 2023
c37e92c
fix: ADMIN: deletion of subject chat fails
PdgarHern Mar 2, 2023
81c2143
fix: Resource subject list is empty
PdgarHern Mar 2, 2023
8f7e1a8
Better implementation of notifications
AleVeraM Mar 2, 2023
95bb7a9
Better implementation of notifications
AleVeraM Mar 2, 2023
f54b69e
Merge branch 'issue/5555' of github.com:eduapp-project/eduapp into is…
AleVeraM Mar 2, 2023
c840373
Merge pull request #27 from eduapp-project/issue/5555
mianfiga Mar 15, 2023
d65ccbf
Merge pull request #26 from eduapp-project/fixes
mianfiga Mar 15, 2023
b9f2230
Merge pull request #28 from eduapp-project/develop
mianfiga Mar 15, 2023
0678d34
FIX toolbar order
tcrurav Mar 24, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added Documentation/Diagram/ERDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Diagram/NewUMLDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
195 changes: 195 additions & 0 deletions Documentation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
# Development Notes

- [Backend Structure](#backend-structure)
- [Frontend Structure](#frontend-structure)
- [Administration Structure](#administration-structure)

# Backend Structure

The main components we are going to dive in are:
- Controllers
- Extra Fields
- Filtration
- Encryption

## Controllers

Each table has a custom controller by which each have their own methods.
The main controller to look at is the Application Controller.

This controller contains all methods used for the Extra Fields as well as helper methods for other controllers to deny or permit accesd to users and paginate extra fields.

These are explicitly documented inside the code to make it easy to find and follow.

An example of what you can find in the Application Controller:

```ruby
# UTILS

# Returns a ```UserRole``` entry for the currently existing admin role.
def get_admin_role
return UserRole.where(name: "eduapp-admin").first
end

# Returns the user's respective ```UserRole``` information.
def get_user_roles(user_id = @current_user)
return UserRole.find(UserInfo.where(user_id: user_id).first.user_role_id)
end

# Serializes each element in an array.
def serialize_each(array, iExcept = [], iInclude = [])
s = []
array.each do |item|
s.push(item.serializable_hash(except: iExcept, include: iInclude))
end
return s
end

# Paginates an ```ActiveRecord``` query.
def query_paginate(query, page, limit = 10)
page = Integer(page)
if page - 1 < 0
return { :error => "Page cannot be less than 1" }
end
return { :current_page => query.limit(limit).offset((page - 1) * limit), :total_pages => (query.count.to_f / limit).ceil, :page => page }
end

# Paginates an array.
def array_paginate(array, page, limit = 10)
return array.slice(Integer(page) > 0 ? Integer(page) - 1 : 0, limit)
end

# A parser made to correctly return a decoded order filter.
def parse_filter_order(order)
order = JSON.parse(Base64.decode64(order))
return { order["field"] => order["order"] == "asc" ? :asc : :desc }
end
```

## Extra Fields

Extra fields are made to provide access to custom information each Institution needs. Examples of this can be student debts, detention counts and custom notes.

The tables elegible for extra fields are Users, Courses, Sessions, Institutions, Resources and Subjects.

Helper methods for these are located as well in the Application Controller.

## Filtration

Each controller has it's own way of filtrating. Every controller follows a pattern:

- Check if any extra fields exists and try to filter by that
- If there's any filtered extra fields, filter with that by the other main fields, if not, filter by any value in the database.
- Order by ascending if no order is specified
- Return the first page if not page of information is specified

## Encryption

EduApp has it's own encryption utility inside ```lib/edu_app_utils/encrypt_utils.rb```.

Here, you will find different methods used to encrypt and decrypt messages for the messaging part of EduApp.

# Frontend Structure

The main topics we will cover about how the frontend works:
- It's PWA
- How we save information offline
- It's different utilities
- Custom hooks

## The PWA

The PWA has two main components necessary:
- ```service-worker.js```
- ```serviceWorkerRegistration.js```

These two components are necessary for registering the Service Worker to the browser so that it works correctly.

This all depends on WorkBox to register and save to browser cache the compiled assets necessary to run the app.

To save the user's important information for offline use, we use the ```OfflineManager.js``` utility. This helps us saving and updating any information when needed so that we have always the most updated user information at all types.

## Utilities

The different types of utilities we use are:
- ```OfflineManager```
- ```IDBManager```
- ```MediaFixer```
- ```FirebaseStorage```
- ```UrlPrefixer```
- ActionCable websockets

### OfflineManager

The offline manager contains various functions used to save and load information for further use when in offline mode.

The workflow used is to always store information offline when received from the API, and if the information is different then save it, if not there's no need to save it.

```getOfflineUser()``` is the main function you will want to use for accessing a user's information online or offline. It all depends on the information in it.

### IDBManager

The IDBManager uses a library @jakearchibald called ```idb-keyval``` which converts all IndexedDB functions into asynchronous, for ease of use.

The class contains methods used as a Singleton to load a store and make transactions.

### MediaFixer

MediaFixer is a small function used to correct files from Rails ActiveStorage from not displaying the correct URL. It changes the ```localhost:3000``` domain that ActiveStorage sets to the back domain passed inside the ```.env``` file.

### FirebaseStorage

This is used to upload any files used to a Firebase Storage bucket in case ActiveStorage fails. As of now, only profile images are uploaded to Firebase.

### UrlPrefixer

This is used in case you change your domains base name to a new mount point.

Example: default - eduapp.com
Changed basename: eduapp.com/app

This functions converts all urls passed to use the new basename you specify. This was previously used for ease of use, but it's not necessary anymore.

### ActionCable Websockets

Rails ActionCable needs a special JS library from the same developers to connect to each other.

To provide an easy interface, we created a class called ```ACManager``` which is an abstract class used to create new Websocket classes to manage the different websocket channels in the backend.


# Administration Structure

The main topics we will cover:

- Initialization of the administration panel and database
- Login
- Components

## Initialization

When creating and intializing the backend, frontend and administration for the first time, you will be prompted to create a new administrator user. Once done, you may login with your new administration account.

Once in, you will only be able to see to sections:
- Institutions
- User Permissions/Roles

To unlock the other administrative sections, you must first create your an Institution. Once created, you may access the other sections to setup your educational environment.

## Login

Only users who have an ```admin-query``` or ```admin``` role are able to have access to the web app by default. You may change this inside the authentication service inside ```services```.

## Components

The administration panel constitutes of one main parent view with rotating child components. This means that ControlPanel is the parent view that never changes, and the only components that change are the inside/body of the main page.

Each component behaves differently since they all manage different sets of data according to their table, but they share common features:
- Creation
- Deletion
- Updates
- Filtration
- Extra Fields
- Extra Fields Filtration
- Order By

Chat messages are not displayed to manage to keep the users privacy safe.
Binary file added Documentation/Usability/colorsExample.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Usability/darkModeAfter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Usability/darkModeBefore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Usability/darkModeResources.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Usability/desktopPreview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Usability/loadingAnimationFrame.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Usability/mobilePreview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Usability/resourceOpenedMobile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Usability/resourcesForm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Usability/signUpForm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Usability/signUpForm2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Usability/signUpForm3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/Usability/signUpFormDesktop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documentation/UseCases.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading