lgants / starter_kit_django_api

WIP Django API for sysgears apollo-universal-starter-kit repo; https://github.com/sysgears/apollo-universal-starter-kit
1 stars 0 forks source link

Integration with apollo-universal-starter-kit #1

Open larixer opened 6 years ago

larixer commented 6 years ago

Hey Logan! Nice work here!

Let us know if we can make any adjustments into apollo-universal-starter-kit to make it easier for you to develop this project hassle free! Anything that particular bugs you, etc...

We are going to develop Scala backend via Sangria and there is a need to discuss GraphQL subscription approach at least and perhaps make adjustments. So, lets stay in touch and discuss ideas that might bring benefits to everyone.

Victor

lgants commented 5 years ago

Hey vlasenko! Thanks!

I'm a huge fan of apollo-universal-starter-kit and thought other Python devs might also be interested in hooking up another backend to the project. This is still a WIP, but I've implemented much of the core functionality - I'm in the process of tying up some loose ends and at some point will need to add tests.

The Django integration with the client has been pretty smooth; I added remote schema support, modified some of the Apollo links to support a remote schema, and reimplemented auth inside Django.

It's funny you mention subscriptions. That's one area I've largely avoided - deliberately. I believe Sangria's GraphQL package is one of the few backend packages with native subscription support - others, including Django, seem to require third-party packages. I've generally tried to avoid subscriptions - aside from realtime features (e.g. chat). I'm concerned that the need to open/maintain multiple sockets per user could be costly to scale.

larixer commented 5 years ago

@lgants Hey Logan! I want to share news about the recent developments in the kit with you. We are splitting all the code base into top-level modules: https://github.com/sysgears/apollo-universal-starter-kit/tree/master/modules We have already added implementation of some of these modules in Scala for backend and in Angular for frontend. I think it might be easier for you to have the Django implementation with such an architecture.