Skip to content
This repository has been archived by the owner on May 30, 2023. It is now read-only.

cs394-w19/Printly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Printly

A web appication for crowdsourcing your printing needs. Think Postmates, but for documents.

System Requirements

  • Node.js (10.15.0+)

Getting Started

  1. Download and install the code.

     $ git clone https://github.com/cs394-w19/Printly.git
     $ cd Printly
     $ npm install
    
  2. Create a new Firebase project. Required components are:

    • firebase-auth for user login
    • firebase-storage for uploaded documents
    • firebase-database for maintaining active printers
  3. Add your project's config info to the beginning of App.js.

     var config = {
       apiKey: "YOUR",
       authDomain: "PROJECT",
       databaseURL: "INFO",
       storageBucket: "HERE",
     };
     firebase.initializeApp(config);
    
  4. Add printer profiles to Firebase Realtime Database, following the format in printly-export.json.

  1. Add corresponding profile pictures to Firebase Storage, following the format in id_pictures.

  1. Add content of Assets folder to Firebase Storage.

  1. Deploy the project with firebase deploy in the command line.

  2. Alternatively, start the app on your local machine with npm start.

Known Issues

  • Firebase undefined object 404s on printer selection page.
  • Unmounted component state update on printer selection page (possibly related to first issue).
  • Material-UI typography will be deprecated in the next update.

Limitations and Future Work

  • Printee side

    • Detect student users by email.
    • Have a separate print queue for each unqiue user.
    • Dynamically search for printers based on address.
    • Dynamically calculate ETA and track delivery on map.
  • Printer side

    • All of it