Git Product home page Git Product logo

luminate's People

Contributors

benhalverson avatar bkegley avatar dependabot[bot] avatar yannickfricke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

luminate's Issues

add marketing site

The marketing site will live at luminate.coffee (the app will move to app.luminate.coffee)

  • create marketing gatsby project
  • figure out some terrible design
  • add Mailchimp email signups
  • go live!

add authorization to resolvers

Authenticated users have scopes in the format operation:resource (eg. read:coffee).

I'm not entirely sure if auth checks should happen in the resolver or in the service. Resolver checks would look like the following:

listCoffees: async (parent, args, {services}) => {
      if (!hasScopes(['read:coffee']) throw new Error('Not authorized')
      return services.coffee.getConnectionResults(args)
    },

List queries should return array of aggregates

Currently, list query handlers (e.g. ListCoffeesQuery) return relay connection results in the form of:

{
  pageInfo: {
    hasNextPage: true,
    nextCursor: '1234',
    prevCursor: '5678'
  },
  edges: [
    {
      node: {...},
      cursor: '1357'
    }
  ]
}

This couples the query handler to its use as a specific GraphQL resolver which means we can't use any
of that logic as a field resolver any of that logic as a field resolver. Instead we should return an
array of aggregates.

CommandHandlers should have interfaces

CommandHandlers should implement an interface that extends ICommandHandler. This would help to keep types consistent when passing commands to the CommandRegistry for processing.

interface ICreateEntityCommandHandler extends ICommandHandler<CreateEntityCommand, Entity> {}

CommandRegistry.process<ICreateEntityCommandHandler>(....)

Add cupping form

SCAA-Official-Cupping-Form.pdf
use SCA cupping form as initial template

A cupping session consists of multiple coffees which can be an individual roast or a specific lot/bag-of-coffee and can have multiple users logging scores against that cupping.

allow for coffees to be made up of other coffees (blends)

Coffees should be able to be made up of other coffees by percentages. Add components field to map percentages of coffees to a coffee.
e.g. BiitBlend (a coffee document) could be made up of 50% Guatemala (a coffee document) and 50% Ethiopia (a coffee document)

bcrypt not able to build locally

In a fresh install (and not running in Docker), depending on your local system, you may have issues building bcrypt. As a placeholder fix run sudo apt-get install -y build-essential python.

Repos/Services should be scoped to the user

After migrating to nest we lost all of our hacky repo scoping logic. At the moment, we're just returning everything. We'll probably want to only return the results the user is authorized to view.

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.