GithubHelp home page GithubHelp logo

kristin-smith / idealab Goto Github PK

View Code? Open in Web Editor NEW

This project forked from codefordenver/idealab

0.0 1.0 0.0 25.96 MB

Queuing app for 3D printing

Java 71.99% HTML 0.27% JavaScript 21.47% CSS 6.20% Dockerfile 0.07%

idealab's Introduction

ideaLab

This is a queuing app for 3D printing. It includes a user facing form that allows someone to request a print job. It also includes a employee facing app that allows them to change statuses of print jobs, view print jobs, and modify print jobs.

The web app is frontend React and backend Java Spring.

Getting up and running

Install docker and docker-compose (should be bundled). Clone the project.

navigate to the ideaLab directory.

Perform the actions described in "Setting up Resource File".

Run the following command: docker-compose up

The project will then build and launch itself. You can access the frontend by going to localhost:3000 in your browser.

For linux and mac people, this should work with live reloading out of the box. So say you edit a frontend file, it should update automatically as long as it's not a package.json file, same for the java backend.

Cloning

To get started, clone our repo. Using cd and dir (or ls if not on Windows) in you command line, got to the folder you want to clone the repo into and start by typing:
git clone http://github.com/codefordenver/ideaLab.

Code for Denver: Getting Started on Helping Project

To understand more about this project & how you can join, read this PowerPoint: https://docs.google.com/presentation/d/13J6mfre2-HwBbnY5ozxYmMI5CZcK1R_OdZiDlbpZNEA/edit#slide=id.g5e3ebcd7e4_0_111.

Getting The Project Up and Running

Our project is split into 2 sections: frontend & backend. We have our project set up with docker-compose. Navigate to the ideaLab folder and type

docker-compose up

If you are having any issues with getting the api or frontend to show, type

docker-compose stop
docker-compose build
docker-compose up --force-recreate

This should rebuild the images and recreate the containers so you have an up to instance running.

Backend

Our backend is split into 2 sections: our API app & our database. Our API is written in Java Spring & Gradle. Our database uses open source POSTGRES and we have containerized it in Docker.

Setting up Resource File

  1. Request the latest dev resource file (if starting a new project see Backend/src/main/resources/sample_dropbox.properties)

⚠️ When contributing to the existing project, make sure to make a copy of the sample properties file and do not rename directly. If you rename and commit it will be deleted from the master branch.

  1. Place the resource file and values in /Backend/src/main/resources/dropbox.properties (delete "sample_" if starting a new project)
  2. To run dropbox yourself, create a dropbox app using the DBX Platform developer portal and get an access token
  • Step 1: Navigate to the DBX Platform and follow the directions to make a new app.
  • Step 2: Select the regular Dropbox API
  • Step 3: For this project you only need a single App folder
  • Step 4: From the console, create an access token and paste that into the dropbox.properties file.

The final directory should like like the following once the dropbox.properties file is setup. ❗ The dropbox.properties file is on the .gitignore so keys will not be commited and the sample_dropbox.properties needs to always be commited for future users): Dropbox Directory Example

If they needed to be used elsewhere, the values from the properties file can be accessed using the @Value annotation. i.e.

  @Value("${dropbox.ACCESS_TOKEN}")
  private String ACCESS_TOKEN;

API & Java Spring & Gradle

  1. Make sure you have everything downloaded appropriately the first time. Go to our Google docs presentation if you still need to do that.
  2. Using CD and DIR (or LS) in your command line, navigate to your local repo of ideaLab/Backend.
  3. Once you are in the appropriate folder, type gradlew bootRun in your command line. (You do not need to start up our Docker container with the database because Gradle is automatically doing that for us.)
  4. In your browser, type localhost:8080/api/print-jobs. You have arrived at our list of print jobs page.

Database & POSTGRES & Docker

In general, you should not have to go into this section. If for some reason you do, here are the instructions.

  1. Once you have docker-compose up and running, in a new command line type in
docker exec -it idealab_postgres_1 bash
  1. Type
psql -U postgres

Now you can run basic postgres commands.

Frontend

  1. The frontend is written in React.If you need help with react, refer to its documentation.
  2. To see our page, type into your web browser localhost:3000/#/login.

idealab's People

Contributors

kaansonmezoz avatar will-estes avatar divlogic avatar hannahkamundson avatar jberns avatar e-carlin avatar ethoreson avatar sousabraga avatar minerkt88 avatar shaverda avatar patrickcpoole avatar wdoug avatar dviramontes avatar piyushmor avatar rmatsunaga avatar consultant-aka avatar

Watchers

James Cloos 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.