aardwolf icon indicating copy to clipboard operation
aardwolf copied to clipboard

API - Development TODO

Open BanjoFox opened this issue 8 years ago • 9 comments

This is item 6, in the Hackers Guide to Aardwolf

The HTML/CSS parts (front-end) will need to interact with the Rust/Server-side components. My understanding is that this will be done through an Application Programming Interface.

Our current lean is toward developing a Representational State Transfer (REST) API. Unfortunately I am not knowledgable enough to speak on this however there is a REST API Tutorial that I am working through.

In terms of Aardwolf, there is a LOT to be discussed. So if you are interested in REST APIs, even if you have never -built- one feel free to speak up. Even folks with zero experience might raise useful questions.

BanjoFox avatar Mar 27 '18 19:03 BanjoFox

Have you considered GraphQL?

meatpi avatar Mar 31 '18 18:03 meatpi

GraphQL looks really cool :)

https://graphql.org/

BanjoFox avatar Jul 05 '18 17:07 BanjoFox

Hello, I'm for GraphlQL instead of REST as well... it has small downside in performance, but it's much easier to work with if done well. Also, I'd be glad to help you with this part. I've done few GQL servers in PHP and am learing Rust so that would be nice experience to add for me combining those two. :) What I'm unsure if this project still goes on and if it does, I'm looking forward to this.

davidhorac3 avatar May 02 '19 14:05 davidhorac3

@davidhorac3 That would be really awesome :)

Briefly - Yes the project is still alive

Longer version - Most of the devs have been busy doing other things (myself included) so that is why you haven't seen much activity here.

Not sure if you are aware but there is also a repository for the Front-End side of the house: https://github.com/Aardwolf-Social/aardwolf-interface

BanjoFox avatar May 02 '19 16:05 BanjoFox

@davidhorac3 I'd be very interested in seeing a rust graphql endpoint. If you're sitting it on top of diesel, it might be difficult to get the types right. Let me know if you need help, I'd love to see what you come up with

asonix avatar May 11 '19 16:05 asonix

However, I don't think Aardwolf is a great opportunity for GraphQL in the immediate future. Aardwolf's premier frontend is intended to be mostly static, i.e. HTML served by the server. After we get a working system, we can look into exploring options for other clients.

asonix avatar May 11 '19 17:05 asonix

Now that I have been educated properly on the need for API's I am 100% in agreement that adding/building API functionality is a future addition.

That is not to say that we can't keep exploring options :) @asonix even mentioned in the chat room that we may be able to support GraphQL as well as ActivityPub C2S API.

BanjoFox avatar May 12 '19 17:05 BanjoFox

Well, even if it's not a near future priority, I saw an opportunity to test it out in Rust, which I'm all for... and also going into the middle of something is always harder that setting up a new part/module like this.

I was thinking to set-up Gql and serve maybe just a single model, like send/get/read a message... could be useful for early clients. Simple start but even so there will be other problems to solve like authentication.

Anyway right now, can't say that I've done anything... I've only look slightly into the code (other thing to do first), so it won't even be in the near future... and it's falling lower and lower in priorities for me last week. :/

davidhorac3 avatar May 12 '19 19:05 davidhorac3

Go for it :) When/as you have time of course.

BanjoFox avatar May 14 '19 15:05 BanjoFox