Giter VIP home page Giter VIP logo

books-search-app's Introduction

Book Search App using Flask

Demo of live application

This project is based on the assignment of CS50 Web Development with python and javascript

Usage

  • Registration, Login and Logout
  • Import This is the most interesting part of the project. Provided was a file called books.csv, which had a spreadsheet in CSV format of 5000 different books. Each one has an ISBN number, a title, an author, and a publication year. In a Python file called import.py separate from the web application, I had to write a script that will take the books and import them into your PostgreSQL database. I first had to need to decide what table(s) to create, what columns those tables should have, and how they should relate to one another
  • Search User is able to search books from the database. From the same database from which, data is fed using books.csv and import.py
  • Book Details Once the user goes to book page after searching and selecting a book, user can view detailed data of that book, which is fetched from GoodReads API.
  • User reviews User can view and give review to the book on book page, which then will be saved in PostgreSQL database.

Setup

# Create a virtualenv (Optional but reccomended)
$ python3 -m venv myvirtualenv

# Activate the virtualenv
$ source myvirtualenv/bin/activate (Linux)

# Install all dependencies
$ pip3 install -r requirements.txt

# ENV Variables
$ export FLASK_APP = application.py # flask run
$ export DATABASE_URL = Heroku Postgres DB URI
$ export GOODREADS_KEY = Goodreads API Key. # More info: https://www.goodreads.com/api

Tech Stack

  • Flask Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries. It has no database abstraction layer, form validation, or any other components where pre-existing third-party libraries provide common functions.
    It is used in this project to handle all the HTTP routes, rendering views and performing database queries.

  • PosgreSQL PostgreSQL, often simply Postgres, is an open source object-relational database management system with an emphasis on extensibility and standards compliance. It can handle workloads ranging from small single-machine applications to large Internet-facing applications with many concurrent users.
    Used for storing data of the users.
    Online hosted by in Heroku, accessed via Adminer.

  • Bootstrap Bootstrap is a free and open-source front-end Web framework. It contains HTML and CSS-based design templates for typography, forms, buttons, navigation and other interface components as well as optional JavaScript extensions.
    Used for stylising frontend. Get Bootstrap

books-search-app's People

Contributors

anuradhajha99 avatar dependabot[bot] 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.