Giter Site home page Giter Site logo

Comments (6)

OAGr avatar OAGr commented on June 22, 2024

I'll need to add more here later, but here's a rough summary.

Guesstimate is a Single Page Application. Everything in this repo is the client side, which is one reason why this is called 'guesstimate-app'.

There are two important third party systems. Authentication is done with Auth0, and search/indexing is done with Algolia. This means that running it yourself involves some setup, but on the other hand it's pretty easy set up compared to what you may need in comparable systems. Both of these are free for moderate use. I recommend both, though should note that the way I set up Algolia was a bit hacky (not sure how to do it right).

There is also a small server in Rails, which is not yet on Github. I'd like to work on security a bit more before putting it on here (if select people want to work on it I'd be happy to share in a small group). However, this is quite tiny; just 2 models (users, spaces).

All models are stored and saved as 'spaces'. The spreadsheet content is all stored as json in Postgres. You can see the full requests if you look at the network tab in chrome.

However, while there are a few third party systems, everything will still work with just guesstimate-app, as long as you don't try to log in or save. In practice this means that you can do quite a bit of development, as you can edit any model on the site (just can't save them). It also makes much development quite simple when it's just on the website (not the server). The line that controls this is here:

"start": "BUILD_DEV=0 NODE_ENV=development API_ENV=production webpack-dev-server"

API_ENV=production (as opposed to development) means that it will use the production APIs.

from guesstimate-app.

OAGr avatar OAGr commented on June 22, 2024

How to run ( I think, can't try right now)

git clone [email protected]:getguesstimate/guesstimate-app.git
cd guesstimate-app
npm install
npm install rimraf lodash.assign lodash.pick find-root autoprefixer
npm run start

There are often errors with specific things, but it depends on what is already installed on the computer. Later we could put it in a docker container or something.

from guesstimate-app.

OAGr avatar OAGr commented on June 22, 2024

I'm happy to answer specific questions as they are raised.

In terms of the tech stack, the app is mostly React and Redux. Most code in src. Most of it follows one or two organizational patterns, but it's a bit inconsistent in places, especially in the router lib and with regards to the stylesheets. Would love to clean it up sometimes, but if people have specific concerns I would be happy to help there.

from guesstimate-app.

paultag avatar paultag commented on June 22, 2024

Sweet, thanks! I might formulate that into a HACKING markdown file :)

from guesstimate-app.

OAGr avatar OAGr commented on June 22, 2024

For now I just put this in the README.md file
https://github.com/getguesstimate/guesstimate-app/blob/master/README.md

from guesstimate-app.

OAGr avatar OAGr commented on June 22, 2024

Closing for now. We could definitely improve what we have, but I believe this is sufficient for now. If anyone wants more specific things, please say so.

from guesstimate-app.

Related Issues (20)

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.