notorix / notorix
User management tool for schools
Installs: 11
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^8.0.2
- codegreencreative/laravel-samlidp: ^5.2
- guzzlehttp/guzzle: ^7.2
- intervention/validation: ^3.2
- ircmaxell/random-lib: ^1.2
- joshhanley/livewire-autocomplete: ^0.1.7
- laravel-notification-channels/webpush: ^7.0
- laravel/framework: ^9.19
- laravel/jetstream: ^2.10
- laravel/passport: ^10.4
- laravel/sanctum: ^2.15
- laravel/tinker: ^2.7
- livewire/livewire: ^2.10
- maatwebsite/excel: ^3.1
- mediconesystems/livewire-datatables: ^0.9.5
- predis/predis: ^2.0
- wire-elements/modal: ^1.0
Requires (Dev)
- fakerphp/faker: ^1.9.1
- laravel/pint: ^1.0
- laravel/sail: ^1.0.1
- mockery/mockery: ^1.4.4
- nunomaduro/collision: ^6.1
- phpunit/phpunit: ^9.5.10
- spatie/laravel-ignition: ^1.0
README
Notorix
User management tool for schools
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
About The Project
![Product Name Screen Shot][product-screenshot]
What is Notorix?
Notorix is a user management tool for schools that:
- answers the questions "who is who" and "in relation to whom"
- informs users about the legal framework and general conditions
- manages registrations, modifications, deletions, and accesses of user accounts
- validates user's e-mail address
- strengthens the security of personal data and their operations
- guarantees user consent and privacy (RGPD)
- maintains data sovereignty within the school
- is free and open source
For who?
- school administrators
- teachers
- students
- parents
- school software developers
How does it work?
- web interface
- relational database
- interactions with multiple platforms via API (GraphQL, LDAP, OAuth)
Extensions
Notorix is the cornerstone between all the systems with a user base. Extensions make them work together:
- Import population (students, parents, classes) from Siel
- Link with e-mail server and deliver corporate e-mail adresses
- Secure Wi-Fi with personal access (1 account per user)
- Login to multiple platforms with the same account
- ...
Getting Started
To get a local copy up and running follow these simple steps.
Prerequisites
There're 2 ways to install Notorix:
- docker
- composer
Docker embeds all the necessary components, but it must be reserved to test and development environments.
For production, it is advisable to use a proper web server providing:
- Nginx
- PHP >= 7.3
- Composer
- Nodejs + npm
- MariaDB/MySQL
- Redis
Installation
Docker
-
Clone the repo
git clone https://github.com/githesix/notorix.git
-
Edit .env
-
Start the container
cd notorix docker-compose up
Composer
- Install Notorix
composer create-project notorix/notorix
- Generate secure key
cd notorix php artisan key:generate
- Edit .env
- Give the webserver the rights to read and write to storage and cache
sudo chgrp -R www-data storage bootstrap/cache sudo chmod -R ug+rwx storage bootstrap/cache
- Edit
/resources/markdown/policy.md
and/resources/markdown/terms.md
to your liking - Create a first user with admin privileges:
php artisan create:adminuser
Usage
This part is still being written.
For more examples, please refer to the Documentation
Roadmap
See the open issues for a list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE
for more information.
Contact
Thesis ASBL (NPO) - project_notorix@thesis.nu
Project Link: https://github.com/githesix/notorix