This project was completed as part of Udacity's
Full-Stack Web Developer Nanodegree
to help me learn about full-stack website solutions and get
experience developing my own full-stack web application. The
application itself stores book collections for individual
users, with all books in the collections available for anyone
to view and learn about, but not edit. Only the "owner" of
each book has permission to add, edit, or delete books from
their collection, but there can be duplicates of any book
in other users' collections that are still visible to the
public. Later versions of this software will address
scalability and monetization issues.
The website at
www.bestbookcollection.com
uses the following frameworks and software tools to operate
effectively, and consists of a full-stack using the items
that follow. The Flask web development framework
and the SQLAlchemy ORM flexibly execute and manage the
website as it grows, and the web application itself is
hosted on a remote Ubuntu Linux server as a WSGI app with
the Apache HTTP server software. The SQLAlchemy ORM connects
to a PostgreSQL database on the Ubuntu server to store and
retrieve the data used to populate the website with books.
Finally, some online, third-party "cloud" resources were
used to make this website, including Amazon Lightsail and
CloudFront, Facebook Oauth 2.0 login, and Google Oauth 2.0
login and custom search API.
My code for "Best Books!" is available
here on Github,
along with a more detailed explanation of the project in the
repo's readme.md