Lisa Is Super Awesome (LISA) is an application made to track "things" between friends/a group of people who trust each other. It offers a simple, informal and trust-based system to let users tally on each other. Although the system is designed with a non-exploitative user base in mind are all actions related to a user still completely transparent, as each user can see on whom they tallied and who tallied on their tap.
Many use-cases can be imagined, in general LISA gives each user an integer sized balance which each user can subtract from on a one-by-one basis. Imagined use cases include collectively buying goods and keeping track of whom used what.
# Clone the repository
git clone https://github.com/Addono/lisa && cd lisa
# Install dependencies
npm install
# (Optional) Configure the database, the defaults are for a docker compose instance
vim application/config/database.php
# (Optional) Configure general settings, setting the hostname is mandatory
# by default it is set to http://localhost:8080, if your Docker instance
# is not at localhost, then you need to set $config['base_url'] manually
# in application/config/config.php
vim application/config/config.php
# (Optional) Although you will get nasty errors in your logs whenever it
# tries to send email.
vim application/config/email.php
# Configuration is finished, let's deploy the application and all required services
docker compose up -d
One small last thing we need to do is to run all database migrations, either point your browser at http://localhost:8080/install or runcurl http://localhost:8080/install
.
🚀 And we are live at http://localhost:8080 🚀
Hint: The default admin credentials are admin:admin312
😉
Note: Depending on how you installed Docker it might be that Docker is not accessible at localhost, in that case replace localhost with the IP address of your Docker installation. E.g. for docker-machine users run $(docker-machine ip)
.
Requirements:
- PHP 7* with the mysqli extension enabled.
- MySQL database
- Download a copy/make a clone/make a fork of the project and move it to a folder in your web server.
- Rename or copy
config.php-setup
,database.php-setup
andemail.php-config
toconfig.php
,database.php
andemail.php
respectively, these files can be found inapplication/config/
. - Edit these config files to match your system.
- Add your hostname in
config.php
. - Enter the settings of your database in
database.php
. - (Optional, but recommended) Configure an SMTP server in
email.php
.
- Add your hostname in
- Navigate to YOUR_HOSTNAME/index.php/Install to initialize the database.
*The Docker Compose deploy method and the CI are using 7.4. The version used there is leading and the only one supported.
For development purposes, an extended Docker Compose configuration is available in docker-compose.dev.yml
. This configuration adds additional services useful for development:
- phpMyAdmin: Web interface for database management
- Available at: http://localhost:8081
To start all services including development tools:
docker compose -f docker-compose.dev.yml up -d
This will start all base services plus the development services.
By default, the database is populated with one admin user with username admin
and password admin312
. Login as this user and change the password as soon as possible.
Afterwards, use the admin user to create new users, which can be done in the backend. When creating new users, make sure that the user
role is enabled*, otherwise they won't be able to use the application.
*The admin user doesn't have the user role by default, hence the "Insufficient rights" message when you first logged in. Obviously you can add the admin user to the user
group, however it is recommended to keep the admin user merely as an admin.
Currently, the language used by the application is hard-coded into Handler.php
, for future releases it is planned to move configurations like these into the database. For now, one should edit hard-coded language or substitute all language files in the nederlands
language folder with your language of preference. During development I tried to add translations for both English and Dutch, so the English translation files should be complete.
Thanks goes to these wonderful people (emoji key):
Adriaan Knapen 🚧 🎨 🐛 💻 🖋 🌍 |
Djamon Staal 🛡️ 🚇 |
Koen 🚇 🤔 📓 🐛 |
Timo 💻 |
Patrick Hilhorst 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!