You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
608981eadc | 3 years ago | |
---|---|---|
app | 3 years ago | |
whoosh/Book | 7 years ago | |
.DS_Store | 7 years ago | |
.gitignore | 3 years ago | |
README.md | 3 years ago | |
import_csv.py | 7 years ago | |
init.py | 7 years ago | |
init_db.sh | 7 years ago | |
rebuild.py | 7 years ago | |
requirements.txt | 3 years ago | |
run.py | 7 years ago | |
test.py | 7 years ago | |
test2.py | 7 years ago | |
xpublibrary.csv | 7 years ago | |
xpublibrary_including_filelinks.csv | 7 years ago | |
xpublibrary_including_filelinks2.csv | 7 years ago | |
xpublibrary_old.csv | 7 years ago |
README.md
XPPL version alt
Library to hold books / knowledge
TO DOs
- fix adding stacks
- update requirements
- generate new requirements.txt and installation process?
- fix stacks layout
- remove autocomplete? and training at the start of app
- update layout navigation
Installation
sudo apt install python3-virtualenv
sudo virtualenv venv
source venv/bin/activate
sudo chmod -R 777 XPPL/
pip3 install flask
pip3 install flask_sqlalchemy
pip3 install marshmallow
pip3 install flask_socketio
pip3 install python-dotenv
pip3 install flask_weasyprint
pip3 install flask_wtf
pip3 install wand
pip3 install PyPDF2
pip3 install requests
pip3 install autocomplete
sudo apt-get install libpangocairo-1.0-0
sudo apt-get install libmagickwand-dev
bash init_db.sh
Install the required dependencies:
$ pip3 install -r requirements.txt
Initialise database / Why is this needed again, could be checked in flask?
$ bash init_db.sh
Further install notes (bugs)
-
create the covers folder inside the uploadsfolder
-
don't forget to chmod the uploads and coverfolder ;-)
-
For Mac users -> brew install imagemagick@6 in order to install wand (should not be relevant for debian server install)
Run the program
Run the script in another terminal (from XPPL directory):
python3 run.py
Deploy on server
(this will be added soon)
REST API
Has currently 2 entrypoints:
/api/books
GETs all the books in the database
/api/book/id
GETs a specific book by its id