Giter VIP home page Giter VIP logo

mind-expanding-books's People

Contributors

aedorado avatar avirlrma avatar bhupendrapt5 avatar bschlagel avatar dakshshah96 avatar galelmalah avatar gauthamzz avatar geritol avatar hackerkid avatar himanshub16 avatar ivydigitalstorm avatar jacksonisaac avatar joshrosenhanst avatar minibhati93 avatar natac13 avatar nickerchen avatar pacocp avatar sahilc avatar samishakhurana avatar sanmak avatar saqibameen avatar saurontm avatar seemaj201274 avatar shubhamghimire avatar snehaj27 avatar sthapa15 avatar thedudio avatar troelsagergaard avatar xevenheaven avatar yashamin-01 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mind-expanding-books's Issues

website: Each category should have it's own page

There should be a seperate page for each category. Opening /Startups-And-Business for example should display books from Startups and Business category.

Before working on this issue I think it would be great to finish #182 first.

See /app@master for details on setting up the development environment.

A request to add book in "Design" section

The book name is - "Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability (3rd Edition)".

Sorry guys, I never read this but heard about it alot. I hope it will be helpful for design.

Order books sensibly

Currently, the books in each category are listed in a random order with no real sense of organization.

I think it'd be better if the books were ordered in a particular manner. Few ideas for selecting the criteria for ordering books:

  • Alphabetically
  • Average Goodreads rating
  • First publishing date

Can I work on Dockerfile for this project

Hi. I'd like to contribute to this project with a Dockerfile for running a self-hosted installation of this software using Docker.
Can I work on this and open a PR during the Hacktoberfest 2021?

Validate pull requests with Travis

Hello, I wrote a tool that can validate README links (valid URLs, not duplicate). It can be run when someone submits a pull request.

It is currently being used by

Examples

If you are interested, connect this repo to https://travis-ci.org/ and add a .travis.yml file to the project.

See https://github.com/dkhamsing/awesome_bot for options, more information
Feel free to leave a comment ๐Ÿ˜„

Small typo

"The Little Prince" under Education has a comma in its Goodreads rating instead of a period. Also, I'm surprised that this is a list of books on github and has nothing about programming ):

Issues for Hacktoberfest 2020 beginner contributors

๐Ÿ‘‹๐Ÿ‘‹ Hello Hacktoberfest contributors

if you are looking to contribute to Mind-Expanding Books, I would recommend focusing on improving the website which can be accessed at http://books.vishnuks.com/ (soon to get its own domain). The source code lives in /app directory.

There are a ton of improvements that can be made to the website. I have some issues opened at https://github.com/hackerkid/Mind-Expanding-Books/issues?q=is%3Aissue+is%3Aopen+label%3Awebsite

But don't be limited by the issues. Feel free to open a PR for anything that you think is an improvement.

My goal is to make the website the place where you go to discover what book to read next.

Another great repo to contribute to

Another project of mine, https://diff.blog is also looking for contributors. The issues there are super friendly for beginners without much coding experience. So you should check them as well.

https://github.com/diffblog/hacktoberfest/issues

Add instructions on how to get the site going locally

Hi, im new to open source, but not to webdesign and I think the website has a lot of potential to look much better.
The problem is, I cannot find any instructions on how to setup the site locally. I never used gatsby and I'm not sure, if this is the only thing I need to get started working on the style of the site efficiently.
Maybe this is a stupid question, let me know. :)

Way to verify whether the book is mind expanding or not

There are so many books how do you know if it is mind expanding or not ?
There are so many great books and if we fill it with all it will be too big. Categories like fiction can become so big
List doesnt explain how a particular books helps in expanding the mind . I

Make the website responsive across all platforms

The website at the moment is not all responsive and is kind of not usable on mobile and tablet.

Ideally, the website should work properly across all types of devices. Feel free to make any changes to the UI that achieves this goal.

Add link to go to top of page in README.md

Hi ๐Ÿ‘‹๐Ÿป

I think it would be nice to have links after each book category in the README.md file to save the user from having to scroll all the way up to the top. If you would also like this then I am happy to add it. Let me know ๐Ÿ˜Š

Make sure that the book reviews data are upto date

We show the Goodreads star count in the website. We fetch the data using the following script

Mind-Expanding-Books/utils/update_json_files.py

The script generates two json files which are then copied to app/src/data directory.

At the moment I run this script manually. But it would be cool to automate the step using GitHub actions.

The tricky thing is to make sure that you don't call the Google API(used in the script for fetching Amazon link) unnecessarily since it has a very low rate limit.

The action should only fetch the necessary data required and reuse existing data as much as it's possible.

Use another API for fetching the book description when Goodreads API return empty description

If you go through app/src/data/books.json/ you can see that a lot of the books have the description empty. We are not displaying the books without a description in the website.

Your task is to use another API for fetching the book description when Goodreads return an empty description.

The scripts that are used for generating the books.json file lives in utils directory

Go through the README file in utils directory for more details on running the script.

Use another API for fetching book covers when Goodreads API don't have a valid book cover

If you open the website you can see that a lot of books have book covers missing.

eg https://s.gr-assets.com/assets/nophoto/book/111x148-bcc042a9c91a29c1d680899eff700a03.png

The reason behind is that Goodreads don't have the licensing rights to distribute the cover photo of the book using the API (or something like that).

It's easy to see whether the book cover URL is valid or not since Goodreads return the same image URL for books without a valid cover photo.

So your task is to use another API for fetching the book cover when Goodreads return an invalid book cover.

utils directory has the scripts that is used for generating books.json

Look at the README.md file in the utils directory for more details.

Generate pages for all the books in website

The task is to generate a unique page for each and every book present in our list.

The page should show the name of the book, year of publishing, description etc. Basically, all the details present in the book card would be shown in thhe page. The user can access the page by clicking on "Show more" in the book card.

The URL of the page can be in this format

/book/name-of-the-book-by-author-name

You don't have to create each and every page manually. You can programmatically generate pages in Gatsby

https://www.gatsbyjs.com/docs/creating-and-modifying-pages/

The data for the pages lives in app/src/data/books.json

We are already using Gatsby Pages in the website. Take a look at how category pages are generated to see how its done.

https://books.vishnuks.com/Philosophy-And-Psychology

Incremental builds

Recently, Netlify added a free plugin for enabling incremental builds for Gatsby sites. On the ones I've worked on, I noticed significant speed-ups in build times, so it might be a good idea to add that too. I'd be okay with handling the config part myself, but the Netlify plugin also needs to be enabled.

Common Book Image

Hi, so I wanted to know is there any particular reason for using a common book image ( " Shoe Dog: A memoir by the creator of Nike " ) for all the books.
I understand that finding cover for every book is a bit cumbersome since there is already a big list present by now, but the same cover looks a bit weird.
I would like to suggest two ways to fix this -

  1. A more generic image can be used
  2. Design of book card could be changed to more attractive visual (where image is not a very prominent part) and moving forward book image can be made a mandatory field

Add a book that blowed your mind | hacktoberfest

This repository contains books that blowed the mind of a lot of people. f you know of any such ๐Ÿ“– that is not in the list then please make a PR. Thanks for being awesome ๐Ÿ˜Ž . Happy Hacktoberfest. ๐ŸŽ‰

Minor UI improvements for better User Experience

I would like to highlight some minor UI issues -

  1. There can be a default cover page for books for which images are not present, currently it comes as an empty box.
  2. Book cards are overlapping long category names.
    Screen Shot 2020-08-31 at 9 23 51 PM
    Screen Shot 2020-08-31 at 9 23 57 PM

feat: add dark mode

I would like to work on adding dark mode for the web-site incase some is not working on it.

If this feature is needed please reply and I will start coding.โ˜บ

Write a tool to sort books according to Goodreads rating

It would be awesome if you can write a commandline tool that will sort the books in each category according to Goodreads rating. The tool should basically read from README.md and update it once the task is completed. You can use Goodreads API for achieving this. Let me know if you have any doubt :)

website: Improve the website of mind expanding books

I have built a bare minimum website for mind expanding books using Gatsby. Its acessible at http://books.vishnuks.com.

The source code of the website lives in app directory and the README in app directory has documentation on how to start a development environment.

If you are interested in improving the website feel free to contribute. Some issues that are on top of the mind are

  • Show the year book is published.

  • Show rating as stars for each book

  • Add a navbar or menu bar that allows users to filter books category wise #182

  • Add a sort funtionality. ie users should be able to sort books on basis of rating, year published, alpabetical order of title etc #183

  • Add an infinite scroll instead of loading all the books. #184

  • There should be a seperate page for each category. ie /Startups-Business urls should display books from that category. #185

  • Make the UI of the cards better. #186

  • Add functionality to mark book as "to read" using local storage. #187

If you are interested in working on one of these issues feel free to comment on the issue page to assign you the issue.

If you have any other idea for improving the website feel free to create a new issue and start working on it.

Binart search tree

public class BinarySearchTree {

//Represent a node of binary tree  
public static class Node{  
    int data;  
    Node left;  
    Node right;  

    public Node(int data){  
        //Assign data to the new node, set left and right children to null  
        this.data = data;  
        this.left = null;  
        this.right = null;  
    }  
  }  

  //Represent the root of binary tree  
  public Node root;  

  public BinarySearchTree(){  
      root = null;  
  }  

  //insert() will add new node to the binary search tree  
  public void insert(int data) {  
      //Create a new node  
      Node newNode = new Node(data);  

      //Check whether tree is empty  
      if(root == null){  
          root = newNode;  
          return;  
        }  
      else {  
          //current node point to root of the tree  
          Node current = root, parent = null;  

          while(true) {  
              //parent keep track of the parent node of current node.  
              parent = current;  

              //If data is less than current's data, node will be inserted to the left of tree  
              if(data < current.data) {  
                  current = current.left;  
                  if(current == null) {  
                      parent.left = newNode;  
                      return;  
                  }  
              }  
              //If data is greater than current's data, node will be inserted to the right of tree  
              else {  
                  current = current.right;  
                  if(current == null) {  
                      parent.right = newNode;  
                      return;  
                  }  
              }  
          }  
      }  
  }  

  //minNode() will find out the minimum node  
  public Node minNode(Node root) {  
      if (root.left != null)  
          return minNode(root.left);  
      else  
          return root;  
  }  

  //deleteNode() will delete the given node from the binary search tree  
  public Node deleteNode(Node node, int value) {  
      if(node == null){  
          return null;  
       }  
      else {  
          //value is less than node's data then, search the value in left subtree  
          if(value < node.data)  
              node.left = deleteNode(node.left, value);  

          //value is greater than node's data then, search the value in right subtree  
          else if(value > node.data)  
              node.right = deleteNode(node.right, value);  

          //If value is equal to node's data that is, we have found the node to be deleted  
          else {  
              //If node to be deleted has no child then, set the node to null  
              if(node.left == null && node.right == null)  
                  node = null;  

              //If node to be deleted has only one right child  
              else if(node.left == null) {  
                  node = node.right;  
              }  

              //If node to be deleted has only one left child  
              else if(node.right == null) {  
                  node = node.left;  
              }  

              //If node to be deleted has two children node  
              else {  
                  //then find the minimum node from right subtree  
                  Node temp = minNode(node.right);  
                  //Exchange the data between node and temp  
                  node.data = temp.data;  
                  //Delete the node duplicate node from right subtree  
                  node.right = deleteNode(node.right, temp.data);  
              }  
          }  
          return node;  
      }  
  }  

  //inorder() will perform inorder traversal on binary search tree  
  public void inorderTraversal(Node node) {  

      //Check whether tree is empty  
      if(root == null){  
          System.out.println("Tree is empty");  
          return;  
       }  
      else {  

          if(node.left!= null)  
              inorderTraversal(node.left);  
          System.out.print(node.data + " ");  
          if(node.right!= null)  
              inorderTraversal(node.right);  

      }  
  }  

  public static void main(String[] args) {  

      BinarySearchTree bt = new BinarySearchTree();  
      //Add nodes to the binary tree  
      bt.insert(50);  
      bt.insert(30);  
      bt.insert(70);  
      bt.insert(60);  
      bt.insert(10);  
      bt.insert(90);  

      System.out.println("Binary search tree after insertion:");  
      //Displays the binary tree  
      bt.inorderTraversal(bt.root);  

      Node deletedNode = null;  
      //Deletes node 90 which has no child  
      deletedNode = bt.deleteNode(bt.root, 90);  
      System.out.println("\nBinary search tree after deleting node 90:");  
      bt.inorderTraversal(bt.root);  

      //Deletes node 30 which has one child  
      deletedNode = bt.deleteNode(bt.root, 30);  
      System.out.println("\nBinary search tree after deleting node 30:");  
      bt.inorderTraversal(bt.root);  

      //Deletes node 50 which has two children  
      deletedNode = bt.deleteNode(bt.root, 50);  
      System.out.println("\nBinary search tree after deleting node 50:");  
      bt.inorderTraversal(bt.root);  
  }  

}

Seperate fiction into diffrent genres

Currently the genres in fiction are science fiction, fantasy and others. The others can be further expanded to different genres . I reccomend to start by extracting classics and mystery from the list. But you can choose any genre of your choice.

Improve the SEO of the website

Your task is to improve the SEO of mind-expanding books website. Feel free to create a pull request with any changes that you think would improve the SEO.

define "Mind Expanding Books"

Given that Books that will blow your mind is very subjective, it would help to define what does a book have to do, to be considered "Mind Expanding".

Given the current selection, it seems that any book that is well known and has a goodreads rating ~4.0 makes the list. If it's difficult to come up with anything else, shouldn't we at least codify this part?

Refactor the Layout

Hey, I'd like to contribute for the hacktoberfest.

I could refactor the layout to one from ant design if you want to use more of their stuff later on?

I'd pick one of these, I suggest the sider one as its pretty similar to the one already existing.
Let me know what you think

Fix Publishing Dates

I don't know offhand when Jane Austen published Sense and Sensibility, but I strongly suspect it was not 2003. Leo Tolstoy, having died in 1910, did not release much in the 2010s.

A lot of these dates are wildly incorrect. I suspect this may have been done automatically, perhaps grabbing whatever date GoodReads has, but clearly the information gleaned was incorrect and needs to be reviewed more thoroughly.

I think we need an investment category too

There are so many books that are 'mind expanding' in the investment world which can help in life outside.

Examples
a) Principles - Ray Dalio
b) The essays of Warren Buffett
etc.

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.