Lipila is an Online Fees Collection System suitable for educational institutes of all sizes. Lipila is a powerful combination of Fee Management Software + Online Payment Gateway by which you can collect fees from your students online & manage everything like a Pro!
Lipila is software focused to provide solutions to schools, colleges, universities, coaching institutes, academies, etc.
- fast and secure payments
- no need to be tracking paper receipts
- cheaper
- saves time, no more bank queues
- complete payments in 5 seconds
The application supports the following features for admin user:
- Login into the application
- Registering a new school
- Adding a new student
- Checking history of all payments
The application supports the following features for student/parent users:
- Check all payments history
- Make a payment
file / directory | description |
---|---|
lipila/ | package containing project files |
lipila/momo | package with modules for quering third party mobile money API's |
lipila/momo/airtel_momo.py | module that queries the Airtel momo API. |
lipila/momo/mtn_momo.py | module that queries the MTN momo API. |
lipila/momo/momo | module with Momo base class definition |
lipila/static | directory with css static files |
lipila/templates | directory with html template files |
lipila/views | package with application views |
lipila/views/admin | module with views that handle admin functions eg. adding new users |
lipila/views/auth | module with views that handle authentication |
lipila/views/lipila | module with views to handle student payments |
lipila/init.py | project factory, the entry point to the project |
lipila/db.py | contains functions to initialize the database and creating database connections |
lipila/schema-pro.sql | file defining the database tables |
lipila/tests | package containing unittests |
Download the code by cloning this respository
git clone git@github.com:sangwani-coder/lipila.git
Navigate into the project directory and make a copy of the example environment variables file.
cd lipila
cp env.example .env
In order to use the MTN momo API you must signup for the service at momodeveloper After creating an account you should subscribe to the collections product.
-
SUB_KEY= copy your secret api key from mtn and paste it here
-
LIP_ENV=db
-
PGUSER=lipila_dev
-
PGPASSWORD=lipila
-
PGDATABASE=lipila
-
PGHOST=localhost
-
MAIL_USERNAME=your gmail account
-
MAIL_PASSWORD=your password associated with your email account
- create a postgres database named lipila
You initialize the database by calling the init-db method that has been registered with the app, it can be called using the flask command.
Run the init-db command:
flask --app lipila init-db
Initialized the database.
There will now be a lipila.sqlite file in the instance folder in your project.
Run the app Run the following commands in the project directory to install the dependencies and run the app. When running the commands, you may need to type python3/pip3 instead of python/pip depending on your setup.
python -m venv venv
. venv/bin/activate
pip install -r requirements.txt
Debug mode shows an interactive debugger whenever a page raises an exception, and restarts the server whenever you make changes to the code.
flask --app lipila --debug run
Sangwani Peter Zyambo admin@email.com