Giter VIP home page Giter VIP logo

Comments (32)

chrissm79 avatar chrissm79 commented on July 19, 2024 9

For those that are following along:

I've been using v2.0-beta in development of a new project since I started on the new direction it's been a pure joy to work with (I honestly think it's my favorite server-side solution for GraphQL). I'm pretty happy with the internals and I don't see any big changes in the pipeline prior to v2.1. I plan on creating a walkthrough video this weekend. The docs are close, I could do a better job in some sections but that's what PRs are for ๐Ÿ˜„Personally I feel it's time to get v2.0 released and I don't want the final polish on the docs to slow that down.

Additionally, stubs are going to be pushed out to the v2.1 release to speed things up. However, I haven't used stubs for anything in my current project and it's been working out pretty well.

Can't wait to get Lighthouse v2.0 into everyone's hands!!!

localhost_8000_ desktop

from lighthouse.

chrissm79 avatar chrissm79 commented on July 19, 2024 5

@hailwood @selfeky Thanks!!! I think I have just about everything the way I want it for the v2.0 release.. just a few more (smaller) updates and then it's the docs and release!!!

from lighthouse.

chrissm79 avatar chrissm79 commented on July 19, 2024 5

Video is up!!!

I should be able to get v2.0 cut tomorrow and the initial docs up as well. In the following weeks I'll be working on more videos and v2.1 with some nice helpers and stubs. Enjoy!

from lighthouse.

chrissm79 avatar chrissm79 commented on July 19, 2024 3

Sorry everyone, that video had a security issue so I deleted it and create a new one which you can view here (once it's done uploading)!

from lighthouse.

chrissm79 avatar chrissm79 commented on July 19, 2024 2

@hailwood Thanks for the feedback! Really glad to be back on the project, and the new direction really has me excited about how powerful Lighthouse can potentially be. I'm tweaking the internals at the moment... it's a bit of a mess with some middleware returning closures and others returning class instances, I just need to give it some consistency then I'll update the roadmap to include a clearer picture of how things work "behind the scenes". By then I'm not expecting the internals to change too much from that point on.

Right now, I can say that directives will work as a sort of plugin/middleware system that users can extend to their heart's content to handle any mutation/query with a method(s) that works best for their own use case. Another thing I should mention is that the hasMany directive in the example above can also be written as hasMany(type: "relay") for relay connections or hasMany(type:"paginator") for a Laravel type approach. There's also some other goodies that allow for paginating relationships on Eloquent collections and auto-resolving the N+1 issue that's baked in, but I'll go into depth with those when I rework the Roadmap/Documentation.

Exciting times on the horizon!!

@kikoseijo Thank you for your feedback!!! Once I have the Roadmap updated with a bit clearer picture of where Lighthouse is headed I'd be more than happy to start reviewing some PRs!!

from lighthouse.

chrissm79 avatar chrissm79 commented on July 19, 2024 2

Since v2.0 is released create a new issue when I get closer to releasing v2.1 to go over all the goodies it includes until it's out of beta.

from lighthouse.

chrissm79 avatar chrissm79 commented on July 19, 2024 1

Hey @kikoseijo,

The documentation is not in line w/ version 2.0, I'll have to create a new version of the docs to go along w/ this overhaul. I'll try make additions as I complete code but I'm on a project right now (that is using v2.0 beta) so I won't be able to commit time to it until off-hours.

I'll also try to update the roadmap to provide an overview of how some of the internals works and the overall direction of Lighthouse so I can get some feedback (and PRs ๐Ÿ˜„) from the community before releasing a finalized v2.0.

Thanks for the feedback and interest!!

from lighthouse.

selfeky avatar selfeky commented on July 19, 2024 1

@chrissm79 @hailwood
On fire is an understatement :)

from lighthouse.

chrissm79 avatar chrissm79 commented on July 19, 2024 1

@morpheus7CS Thanks for the feedback!! I'm currently working on the docs now and I plan to record a new walkthrough video that will get you up and running quickly. After the release I'll try to do some more in depth videos like creating your own directives (the docs will cover that also). Figured I'd keep the first one a bit short so it's not holding anything up.

from lighthouse.

alexwhb avatar alexwhb commented on July 19, 2024 1

@chrissm79 I'm beyond excited to try this new version out! Thanks for all your hard work on this project.

from lighthouse.

olivernybroe avatar olivernybroe commented on July 19, 2024 1

Have never refreshed a page as much as I am doing now. Just waiting for it to upload!

Watching in 360p as it's not done processing

from lighthouse.

chrissm79 avatar chrissm79 commented on July 19, 2024 1

@kikoseijo Good point on the docs, that is missing! I'll be sure to add that in... and at some point I'll add a dedicated section for Relay & Lighthouse (Connections, Global IDs, Nodes, etc). THANKS!!!

from lighthouse.

hailwood avatar hailwood commented on July 19, 2024

Hey @chrissm79 ,

Great to have you back working on lighthouse!
This looks highly interesting, If you're looking at approachability something I would consider is different methods of paginating top level queries and the relations given that pagination seems to be what most users find difficult to grasp. cursor based, offset based etc.

Something I'd like to put forward is maybe a documentation first approach? The current lighthouse implementation suffered from a lack of real documentation (understandable) which made understanding your direction somewhat difficult. If you could document how it should work, and then do the actual implementation then it makes it a lot easier for others to come in and help contribute ๐Ÿ‘

I'll do some more thinking and get back to you with any other ideas :)

from lighthouse.

kikoseijo avatar kikoseijo commented on July 19, 2024

This is an awesome proposal, if you need a hand in any aspects feel free to ask. (not good at tests, btw)

from lighthouse.

kikoseijo avatar kikoseijo commented on July 19, 2024

You couldn't pre-release this on a better moment.

Getting hands dirty, ๐Ÿ˜‹

Is documentation accord with 2.0 version? I can do you as a beta tester if you want. Starting from setup following on with basic implementation.

Work im doing right now its with Car dealers, nothing mayor, but ill be able to test full CRUD.

Can also implement the TODO demo app I have on React + Relay Modern.

from lighthouse.

kikoseijo avatar kikoseijo commented on July 19, 2024

Dont need docs myself, just to know if was something I can help to enhance, less work for myself. ๐ŸŽ‰

from lighthouse.

hailwood avatar hailwood commented on July 19, 2024

You're the man @chrissm79,
I'm almost finished building a fairly complex app with Folklores package, so the next app we do will be built with lighthouse 2.0. Will be good to compare them and provide any feedback based on using the two packages :)

Btw, if you're open to it I'm going to work on integrating graphql-playground into lighthouse V2 because it is miles ahead of graphiql https://github.com/graphcool/graphql-playground

from lighthouse.

kikoseijo avatar kikoseijo commented on July 19, 2024

@hailwood did you got to make graphql playground to work? does not seem to find server my side, it opens with the localhost:3000 but tells me server could not be reached, its strange because relay instrospector works ok, no https needed, i might be missing something.

Im using the standalone graphql playground --port 3003 and read configuration from the .graphqlconfig file.

Maybe you had to fix any issues, maybe its to do with coors. (probably)

from lighthouse.

hailwood avatar hailwood commented on July 19, 2024

@kikoseijo nah, I was waiting for @chrissm79 to approve it before I went and actually implemented it because afaik I have to compile it and then bundle it (I don't want to run a separate nodejs server for it).

from lighthouse.

chrissm79 avatar chrissm79 commented on July 19, 2024

@hailwood What did you have in mind for the "integration" of graphql-playground? I've been using it to query my current project (using Lighthouse v2.0 beta) and it works great! My only minor gripe is that I can't see the network requests when opening the developer tools. In all fairness, I think this is a Electron thing and not just Playground (the new version of GraphiQL has the same issue). Regardless, anything that helps out the community I'm all for so feel free to submit any necessary PRs!!

Also, I have an example project in the early stages if you want to have something to compare your other app to

from lighthouse.

hailwood avatar hailwood commented on July 19, 2024

@chrissm79,

I was thinking of rather than having the electron app, having it load up similar to graphiql.

Not sure what the route should be be for it though, /graphiql is what people are used to, but it's not.

Could go with /playground or /graphql-ui (configurable of course)

I'll have a look at the example app tonight, I'm quite excited!

from lighthouse.

kikoseijo avatar kikoseijo commented on July 19, 2024

I got the App, and works great, you can even open the debug mode and inspect the requests.

There is a need to have a config, the schema to make it work so it writes for you the things, but there is no need to embedded in project, as standalone work just fine.

But I believe its better to be on the client project and not the server.

from lighthouse.

4levels avatar 4levels commented on July 19, 2024

Hi @chrissm79,

amazing what you've done so far.
I'm very curious how you seek to implement the Relay subscription model to enable realtime data in GraphQL.

I already have a job queue and message broadcasting up using Lumen 5.4 (without the newer Echo, Horizon, API Resources or advanced broadcasting options), using Redis as queue driver and a socket.io nodejs server as websocket provider, listening in on the same Redis queue, proxied by Nginx. This is obviously without any Relay support and since I'm now fully turning to GraphQL with Relay, your project here could mean the world to me!

I think I'm decent at writing how-to guides and figuring out what undocumented steps are needed to get things up and running, so as soon as I've had the chance to start actually using Lighthouse, I'll be sure to get back here and provide documentation of what I encountered via PR's.

Since I'm now "done" with my backend setup (thanks to ao @kikoseijo), I'm currently focussed on getting this to play nice with React Native (using Expo).

Keep up the great work!

Much regards, Erik

from lighthouse.

hailwood avatar hailwood commented on July 19, 2024

Just wanna say @chrissm79
I am keeping an eye on every notification coming through for the releases/prs etc.
And you are on fire!

Good job!

from lighthouse.

morpheus7CS avatar morpheus7CS commented on July 19, 2024

@chrissm79 Watching this package progress at such a rapid development pace is a joy. It has seriously become my favourite morning ritual to go through the discussions. Really looking forward to the docs, seeing how well the previous ones were crafted. Also, the Youtube video you have made for 1.x was a really helpful way to onboard beginners. Might be worth duplicating.

If we can help in any way, please let us know.

from lighthouse.

listefano avatar listefano commented on July 19, 2024

Wow @chrissm79 this looks amazing!

from lighthouse.

morpheus7CS avatar morpheus7CS commented on July 19, 2024

@chrissm79 Words canโ€™t express how great of a progress youโ€™ve made. I think this will quickly become the way to build GraphQL projects on Laravel.

I wanted to create a personal project fully in REST first, adding GraphQL later, but this video is giving me plenty of pause of my current approach. I think Lighthouse is the way to go now. Great work.

from lighthouse.

kikoseijo avatar kikoseijo commented on July 19, 2024

We got release!!!!! Bravo!!! ๐ŸŽ‰๐ŸŽŠ๐Ÿ‘ฏ

Regarding documentation:::
Im missing the Relay use on the directives section, in order to have the mutation working you need to use it on the model Type.

type User @model {
  id: ID! @globalId
 ...

Also, on the paginate, scopes missing.

 type Query {
  posts: [Post!]!  @paginate(type: "connection", model: "Post", scopes: ["filterAndOrder"])

from lighthouse.

kikoseijo avatar kikoseijo commented on July 19, 2024

BTW: you want comments on video? perfect place to be embedded its the walkthrough isnยดt?

from lighthouse.

chrissm79 avatar chrissm79 commented on July 19, 2024

Took a quick break to create a video that goes over how Lighthouse handles the N+1 issue you can run into w/ GraphQL:

https://youtu.be/UMDnEIflo_A (still uploading at the moment)

from lighthouse.

hailwood avatar hailwood commented on July 19, 2024

@chrissm79 just thinking, do we want to close all issues/pr's related to <v2.0 to keep the repo clean? given how unlikely it is they'll actually be given any future attention (understandably).

from lighthouse.

chrissm79 avatar chrissm79 commented on July 19, 2024

@hailwood Great point, yeah I'll go through them this afternoon to clear things out so everything stays focused on the new API. THANKS!!!

from lighthouse.

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.