A minimalistic OpenLDAP admin frontend for managing users and groups.
Julian Lobbes
d1acd0a01d
- disable `.toggleMembershipButton` buttons while ajax request is in progress |
||
---|---|---|
lumi2 | ||
tests | ||
.gitignore | ||
config.py | ||
docker-compose.yml | ||
Dockerfile | ||
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
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.