• Stars
    star
    297
  • Rank 140,075 (Top 3 %)
  • Language
    JavaScript
  • License
    BSD 2-Clause "Sim...
  • Created almost 3 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

free-programming-books-search

The free-programming-books-search is a companion project of free-programming-books. It allows users to search by book title or author and filter by language. The search index is updated once per day, so changes made on free-programming-books may not be immediately reflected.

Contents

How It All Works

  1. THERE IS NO DATABASE INVOLVED. Rather, the books are stored in a markdown on free-programming-books and is parsed daily by free-programming-books-parser. The books and all info pertaining to them are stored in a JSON file called fpb.json.

  2. This JSON is downloaded locally and searched locally when the actual search function is used.

Installation

NPM Installation

  1. Make sure you have Node.js installed. If you already do, skip to Running the Website.
  2. Otherwise, download the LTS installer from Node.js website.
  3. Follow the instructions of the installer, make sure npm is listed as a package to be installed.
  4. Click Install.
  5. Verify that Node.Js has been installed by going to command line and typing in node. It should show the current version.
  6. Close out of Node by either closing and reopening the command line or with Ctrl + C.
  7. Make sure to check out the NPM website for more info.

Running the Website

  1. Make sure you have Git installed.
  2. Clone the repo from Github with Git.
  3. Navigate to the folder using command line. A easy way is to type "cd" and then drag and drop the folder into command line.
  4. Type npm install.
  5. Type npm install react-scripts.
  6. Type npm start. At this point, the command prompt should start up the server, and a tab in your default browser should open up to localhost.

Deployment

MAKE SURE YOU HAVE COMPLETED THE INSTALLATION STEPS FIRST!

  1. First, make sure that you the local folder containing the files has a remote configured called "origin".
    1. If you aren't sure, navigate to the folder using Git (type "cd", then drag and drop folder in to Git command line).
    2. Type git init.
    3. Type git remote add origin <repo url>, replacing <repo url> with the url of your github repository.
  2. Now, run npm install -g gh-pages.
  3. Run npm run deploy.
  4. This should deploy your code to "https://yourusername.github.io/free-programming-books-search/".

FAQ

  • What database are we using to store the books?

    • NONE! The books are stored in a JSON file which is downloaded locally.
  • I added a book but it's not showing up on search?

    • Give it some time. The parser is run once a day, so it may take up to 24 hours for the search to reflect that.

More Repositories

1

free-programming-books

📚 Freely available programming books
331,586
star
2

free-science-books

Inspired by free-programming-books, here's free-science-books
1,733
star
3

ebookfoundation.github.io

github.io website
246
star
4

capstone-projects

Free Ebook Foundation projects for Stevens Institute of Technology Capstone Projects
47
star
5

without-a-net

Source code for Jessamyn West's 2011 book "Without a Net"
HTML
31
star
6

river-of-ebooks

JavaScript
19
star
7

free-programming-books-parser

JavaScript
15
star
8

reading-lists

Implementing serverless reading lists for project gutenberg site
HTML
13
star
9

bookshelf-management

Application for managing bookshelves on project gutenberg site.
Python
12
star
10

library-privacy-pledge

Supporting material for the Library Privacy Pledge of 2015
7
star
11

oapen-suggestion-service

OAPEN Suggestion Service Web Application - SIT Senior Capstone
Python
5
star
12

ItemOrientedSurvey

A django module for presenting a survey linked to a model object
Python
5
star
13

alt-text

A PyPi package used for finding, generating, and setting alt-text for images in HTML files. The Alt-Text project is developed for the Free Ebook Foundation as a Senior Design Project at Stevens Institute of Technology.
Python
4
star
14

bardo-copyright-db

Database and search service for copyright records and renewals
Python
4
star
15

regluit-provisioning

ansible playbooks for Unglue.it
Shell
4
star
16

doab-check

Link and DB Checker for DOAB
Python
3
star
17

thoth-wiki

3
star
18

cce-search-ansible

Ansible setup for deploying the CCE Search Flask app
2
star
19

alt-text-frontend

JavaScript
2
star
20

.github

1
star
21

alt-text-backend

Python
1
star