Coder Social home page Coder Social logo

genius's People

Contributors

cameronprattedwards avatar crunkyedwards avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

genius's Issues

Change "Resource" to "Entity"

That's the terminology that is used everywhere else. "Resource" was based on the angular $resource library, which is the worst persistence layer ever.

Change "Server" to "Backend"

In setUtils.js and everywhere that depends on it, we need to change "server" to "backend." The backend could be a REST server, or a database, or a web sockets server, or any number of things.

Resource deserializes incorrectly

I have a nested resource like this:
BaseData->AdventureTypes[]->AdventureType->Image

Image should be a resource, but it deserializes as an object instead.

Add Firebase Adapter

It needs to have both read and write capabilities. So we might need to start notifying the backend every time an entity is created so that Firebase can update it with changes from the ether.

UIController

We currently only have the concept of a RequestController (which, at the API level, should not contain state). We need to add the notion of a UIController. That is, a controller object can have state and methods, which the view can call, and which can manipulate the model or the view. This is closer to the original idea of MVC, created by Trygve Reenskaug. I think.

Bootstrap Apps

Users will want really solid default configurations, so that they can do something like execute genius create:server and it will create a project in that folder with the correct directory structure and with all of the standard routes already added and stuff.

AcceptMethods Annotation

We need to first create an annotation system, and then create a way of blocking requests that are using a certain HTTP method. I think that, by default, all controller actions accept "GET" and no others. If you want to eliminate "GET" as an available method or add other acceptable methods, you would use this annotation.

We might need to create an Annotations object. Annotations.action() would register the action with the Router, allowing a "GET" method. Whatever you do in the annotation method, you return a method that makes the action available to the router.

We would also need to be able to wrap the whole controller in an annotation, so that all of its actions would accept certain methods. The Annotation object can also be used to add an authentication callback.

I'd like the annotation to actually create the route, because that way we cut off illegal requests right at the root, by not making them available at all. Otherwise, we'd have to use a conditional as a kind of gatekeeper, which seems like it could lead to holes.

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.