This bookstore API is powered by Python's Flask framework. You have the ability to browse and sort books, manage a profile and its credit cards, add to a shopping cart, check book details and add books as an admin, rate books and comment on them, and add books to a wishlist.
Created by the fellas over at Group 18. Enjoy!
-
Python (programming language)
-
Flask (Python API framework)
-
SQLAlchemy/MySQL (database)
-
HTML (rendering admin pages)
-
Bootstrap (CSS framework for styling html)
- Open a terminal, head to the desired destination folder and type
git clone [email protected]:cheesecakeassassin/group18-bookstore-api.git
- Run
cd group18-bookstore-api
to enter the repository. - Run
python -m venv venv
to initiate a virtual environment. - Run
venv/Scripts/activate
for Windows andsource venv/bin/activate
for MacOS to enter the virtual environment to then install the dependencies. - Run
pip install flask flask_admin flask_login bcrypt sqlalchemy pymysql python-dotenv dotenv
to install all the needed dependencies. - Create a
.env
file in the root directory with the following text:DB_URL=mysql+pymysql://root:<password>@localhost/bookstore_api_db
replacing<password>
with your MySQL password (MySQL must be downloaded on your machine). - Run
mysql -u root -p
to enter the MySQL shell, then enter your MySQL password. - Run
source app/db/schema.sql
to create the database followed byexit
to exit the MySQL shell. - Run
python seeds.py
to seed the database. - Finally, run
python -m flask run
to start the development sever and get to work!
- Just dive in on
Postman
orInsomnia
to test the routes using the/api/
endpoint! For admin actions use the/admins/
endpoint to register/login!
- IBM License
- The IPL is the open-source license IBM uses for some of its software. Supposed to facilitate commercial use of said software; is very clear on the specifics of liability. Also grants explicit patent rights.
- Sasha Scannell - Book Details - GitHub: https://github.com/thedinoinstitute
- Thamare Saint Louis - Shopping Cart - GitHub: https://github.com/thamare1
- Camilo Sanchez - Wishlist - GitHub: https://github.com/puesyo
- Karim Salazar - Book Browsing and Sorting - GitHub: https://github.com/ksala046
- Fernando Santamarta - Book Rating and Commenting - GitHub: https://github.com/fernandosantamarta
- Sebastian Santa - Profile Management - GitHub: https://github.com/cheesecakeassassin
- If you have further questions, feel free to email one of us at one of the following addresss & we will get back to you as soon as we can: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
- Open a terminal, head to the desired destination folder and type