/capstone

Primary LanguagePython

My Reader's Journey

Table of contents

  1. Project Summary
  2. Technologies Used
  3. App Screenshots
  4. Local Run Instructions
  5. Future Features

Project Summary

My Reader's Journey is a fullstack, stateful web-app that draws its functionality and style inspiration from Goodreads.com. The current build offers the following features: Books, Creators, and Bookshelves. Users are considered Librarians and are able to view and edit all books on the website. They are also able to edit their own personal bookshelves.

Check out the live site!

myreadersjourney.onrender.com

Technologies Used

Backend:

Python Flask

| WTForms | SQLAlchemy | Alembic |

Frontend:

JavaScript HTML5 CSS3

React React Router Redux


App Screenshots

Logged out splash page

image

Logged in splash page

image

My Books Page

image

Book Details Page

image


Local Run Instructions

  1. Clone the repository to a local directory.
  2. In the root directory, copy the contents of the .env.example to a .env file.
    • Assign DATABASE_URL to sqlite:///dev.db
    • Assign SECRET_KEY to anything (but keep it a secret!)
    • SCHEMA is only used for live deployments and can be set to anything
  3. In ./app, install the backend dependencies:
pipenv install
  1. Still in ./app, run the Alembic migration:
pipenv run flask db upgrade
  1. Then, seed the database:
pipenv run flask seed all
  1. Start the backend server:
pipenv run flask run
  1. Navigate to ./react-app and install the frontend dependencies:
npm install
  1. Start the frontend server:
npm start

Future Features

  • Implement Reviews.
  • Implement Creators
    • Allow Creators and Books to be associated properly.
  • User Profile Page
    • Included Quotes and other similar features.
  • User Account Levels
    • A Librarian role which functions as an Admin.
      • Currently, all users are Librarians.