Giter Club home page Giter Club logo

books-for-life's Introduction

BOOKS FOR LIFE ๐Ÿ“š

Multi Device Website Mockup Visit the live website: Books For Life

Introduction

Welcome to Books For Life! Books for Life is the place for all booklovers. Here you can find all your favorite books. You can also add, edit, delete and store all your books in one place! If you really want to buy a book, you can do that also through our cooperation with affiliates. Gain knowledge, grow and develop as a person with Books for Life ๐Ÿ’ก

Table of Contents

UX

Project Goals ๐ŸŽฏ

The aim of the project is to create a book website where users can add/edit delete books from a book gallery, search and find books that they want to read, save books that they already have read and also buy the books the users like through an affiliate link.

Site Owner Goals:

  • Provide a platform for book lovers to find and add books they love
  • Earn money on each book purchased via a Amazon affiliate link from the website
  • Collect user information through site analytics to optimize the website for users

User Stories ๐ŸŽฌ

  • โœ… I want to be able to search books for specific books
  • โœ… I want to see the book title, the authors name, some information about the book and a visual cover image of the book
  • โœ… I want to be able to buy the books i like
  • โœ… I want to be able to add books
  • โœ… I want to be able to delete or edit books
  • โœ… I want to be able to sign up and login
  • โœ… I want to be able to sign out
  • โœ… I want the website to responsive on my laptop, iPad and mobile phone

Design Choices ๐ŸŽจ

Icons

Typography

  • Google Fonts were used across the site:
    • Roboto is the primary font used throughout the project
    • Sans-serif was chosen as the fallback font

Color scheme

Wireframes

Databases

Users Collection

ID Data Type
_id Int
username String
password String

Reviews Collection

ID Data Type
_id Int
title String
author String
description String
cover_url String
amazon_url String

Features ๐Ÿ”Ž

Existing Features

  • Users can sign up to Books for Life, with a unique username and password
  • Users can log in to the website, with their unique username and password
  • Users can sign out from the website
  • Users can create and add books to the book gallery
  • Users can edit and update existing book reviews
  • Users can delete existing books from the book gallery
  • Users can search for specific books in the book gallery
  • Users can buy books through a Amazon link
  • Users can follow Books for Life through social media, via social media icons

Features Left to Implement

  • The ability to sort books in the gallery
  • Choose books by genre
  • Upvote books or/and save books as favorites
  • Have a personal account, with personal information, details and favorite books
  • Reset password and create a new password
  • Input email and send newsletter to users email account
  • Pagination when there are many books accumulated in the gallery

Technologies Used ๐Ÿ’ป

Languages

  • HTML
  • CSS
  • JavaScript
  • Python

Libaries & Frameworks

Databases

Tools ๐Ÿ”ง

Testing ๐Ÿ”Œ

  • Testing information can be found in this separate file: TESTING.md

Deployment

Clone Books for Life from Github:

The project was created by using the IDE services of Gitpod, from Gitpod the project was committed to Git and pushed to Github from the master branch.

This process was taken to deploy the website, from Github repositories:

  1. You can log into Github Pages
  2. From the repositories shown, choose: Sebastian-Torres-Matrix/books-for-life.
  3. On the menu bar at the top, to the right you can click on Settings.
  4. From there you can scroll down to the section Github Pages.
  5. On the headline Source you can choose master branch, from the dropdown menu.
  6. When choosing master branch, the master branch is deployed and also up to date: with access to the link to: Books for Life
  7. During the project, it has always been the master branch that has been deployed to Github Pages.

If you want to run this project locally, you can clone this repository from Gitbuh Pages by following this steps:

  1. Use this link to get to the Github repository: https://github.com/Sebastian-Torres-Matrix/books-for-life .
  2. On the menu bar at the top, to the right, choose the green button named Clone or download.
  3. In the Clone with HTTPS, you can copy the web URL.
  4. Open Git bash, in your local IDE.
  5. Change the current working directory to the location where you want the cloned directory to be made.
  6. Type git clone, and use the web URL from Clone with HTTPS: https://github.com/Sebastian-Torres-Matrix/books-for-life.git
  7. Press Enter, and your local clone will be created.

For more information about how to Git Clone, you can find it here

Deploying Books for Life to Heroku:

  1. Create a requirements.txt file using the following command.
pip3 freeze > requirements.txt
  1. Create a Procfile with the following command.
echo web: python3 app.py > Procfile
  1. Push these created files to your repository.
  2. Create a new app for this project on the Heroku Dashboard.
  3. Select your deployment method by clicking on the deployment method button and select GitHub.
  4. On the dashboard, set the following config variables:
Key Value
IP 0.0.0.0
PORT 5000
MONGO_URI mongodb+srv://root:@myfirstcluster-x0xst.mongodb.net/?retryWrites=true&w=majority
SECRET_KEY "your_secret_key"
  1. Click the deploy button on the Heroku dashboard.
  2. The site has been deployed to Heroku.

Credits

Content

Media

  • Favicon.io
    • For the favicon used in the project.
  • Optimizilla
    • Image compressor to shrink JPEG and PNG images.
  • Pexels
    • For the embedded background image used in the project.

Acknowledgements

  • Fellow Code Institute students on Slack. For the support and feedback.
  • Tutor support and Student care from Code Institute. For the support, guidance and feedback.
  • Simen Daehlin, for excellent mentorship, with great guidance and feedback. ๐Ÿ†

Disclaimer

  • The content of this website is for educational purpose only. โ—

Back to the top

books-for-life's People

Contributors

sebastian-torres-matrix avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.