This proyect is a fork of the real Library Web proyect for a signature of the university. I decided to continue expanding the functionality outside the main proyect to have a deep understanding on the protocols used inside the proyect itself.
🧩 This proyect consist on two parts:
- Backend
- Frontend
The backend is an API-RESTful implemented in python using flask and the fronted is written using Angular. The libraries used and deep description of the proyect is in the wiki section. The main idea of the proyect was to make a complete system for a library. In this library wouldn't be digital copies of books, instead, just physical copies, and users can login, make request for getting books and see all the library catalog. Then, it should contain also librarians and administrators to manage the library itself.
The API (located at backend directory) will be responsible of comunicating the frontend of the App with the database following REST principles.
In the other hand, the frontend was made using Angular with bootstrap trying to follow all responsive design principles.
There are two ways of installing and executing the scritps located in the backend folder. If you want to install and get the python venv activated, you should execute this command:
cd backend && source install.shIf you only want to create the venv and let the venv deactivated:
cd backend && ./install.shTo install all packages needed to run the frontend you must have npm installed and install Angular.
Then, located in the root directory of the proyect run:
cd frontend
npm installAnd npm will install all dependencies and libraries for you.
Once installed all libraries needed, you can continue on running the proyect.
To execute the backend, you should create a .env file following the .env-example file.
cd backend
cp .env-example .envMake sure to install all python dependencies before executing. The install.sh script will do it for you.
This script will create a python venv and install required packages for you. But if you want to do it manually by yourself, just create and activate a python venv and install all required packages (listed in requirements.txt file). You can follow this example:
# In the backend directory
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtThen to run the backend:
./boot.shThe advantage of the boot script is that it will offer you to fill up the database with testing data. However, if you just want to run it:
# with the python venv activated run
python3 app.pyThis will only create an empty database and make visible all the resources of the API in the specified port.
ng serve -oThe prototype was made in figma (deprecated). To see it click here