Rental management system for rental items, customers, and rentals (with typeahead). Newsletters can also be sent out asynchronously (via task queue) to signed up customers.
- Flask
- PostgreSQL
- Celery (with Redis as the broker)
- Bootstrap 4
- Typeahead
- DataTables
- Noty
Customers select a membership and may optionally receive newsletters.
Pagination, sorting, and searching via DataTables. Inventory is also managed (number in stock and number available).
Lenes may be rented (autocomplete powered via typeahead.js) and returned.
Newsletters are sent out to signed up customers only.
Create a database named 'leicarentals', open config.py
and point the database
URI to your server. You may optionally configure the Celery URI and the mail server
if you would like to send emails.
After configuring the settings, set the FLASK_APP
env variable to
leicarentals.py, and install the javascript (e.g npm install
) and python
dependencies (e.g. pip install -r requirements.txt
). Be sure to install the
python dependencies using requirements.txt
located ./leicarentals/
, not
./leicarentals/requirements/
(I'm working on pruning the dev/prod/test dependencies).
cd
into ./leicarentals
(if you are not already); then run:
celery-worker -A leicarentals.celery --loglevel=info (optional)
flask db upgrade
flask seed-db
npm run start (runs the webpack dev server and flask dev server simultaneously)
Go to http://localhost:5000
Dockerfile