lumi2 | ||
scss | ||
tests | ||
.gitignore | ||
config.py | ||
docker-compose.yml | ||
Dockerfile | ||
package-lock.json | ||
package.json | ||
pytest.ini | ||
README.md | ||
requirements.txt |
Lumi2 (LDAP user management interface)
Lumi2 is a web application for managing users and user groups present on an OpenLDAP server. It provides a web-interface for administrators to create/read/update/delete organization users and user groups, and to allow basic account self-service for organization members themselves. Lumi is written in Python, using the Flask web framework.
The motivation for Lumi is for it to provide a more user-friendly interface than PhpLdapAdmin, however it is not a replacement.
Documentation
The following frameworks and/or libraries are used:
- Backend:
- Flask - a python web framework
- WTForms - a python library for web form handling
- FlaskWTF - an extension to WTForms specific to Flask
- flask-restful - a minimalistic library for Flask to build RESTful web APIs
- ldap3 - python bindings for interaction with LDAP servers
- pytest - a python testing framework
- coverage - test code coverage reporting used in conjunction with pytest
- Pillow - a python image manipulation library
- Flask - a python web framework
- Frontend:
- Bootstrap 5 - a CSS framework
- Bootstrap Icons - an SVG-icon pack used in conjunction with Bootstrap
- jQuery - a JavaScript library for DOM manipulation and AJAX routines
- jQuery tablesorter plugin - a plugin for jQuery used to make sortable HTML tables
Compiling SASS
Install a SASS preprocessor:
npm install -g sass
Process the custom SASS files:
sass scss/bootstrap.scss lumi2/static/css/bootstrap.css
Testing
Make sure all dependencies listed in requirements.txt
are installed.
To run all unit tests, simply run the following from within the repository root:
coverage run -m pytest && coverage report
This will run all unit tests and display the test coverage in your terminal.