Giter Club home page Giter Club logo

bucknellbooks's Introduction

Textbook Anarchy

A simple web application for facilitating the resale of textbooks. This was created at Bucknell University to be used by the student body.

Deploying

  1. Create an EC2 Instance (NOTE: Instance must have 6 GB of RAM available) with port 8080 exposed to http traffic through its security groups (you can use a load balancer to route traffic from a standard http/https port).
  2. Install nodejs, docker, and docker-compose on the instance.
  3. Clone the textbook anarchy repository.
  4. Standing in the root of the repository, run npm install to install all javascript dependencies.
  5. Copy your cfg.js into the src directory of the repo.
  6. Run npm run build to build the server and frontend code.
  7. Run docker-compose up to create the docker containers and start them.
  8. Connect to your instance by going to instance.public.ip.address:8080 (or the load balancer's dns name)

Data Models

Books are the primary data model for our application. Through books, users are able to post new books up for sale that others can purchase.

  • Book
    • ID
    • Title
    • Course Number
    • Price
    • Owner
    • Sold

Frontend Architecture

The frontend is written in React.js with material ui as a design library. This application has three pages:

  1. Login Page The login page allows the user to login to our application using Google Login.
  2. Search Page The search page is designed to allow the user to search for specifics textbooks listed by other users.
  3. User Page This page displays all of the textbooks that the user is selling or has sold. It also allows the user to edit and books that they have uploaded or remove them. Adding a new book is also possible from this page.

We use a protected router to ensure that a user is logged in before routing to either of the other pages.

bucknellbooks's People

Contributors

cnw004 avatar egoodhall avatar jasoncorriveau avatar jav04 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  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.