I’ll be graduating at the end of next year, and I’m currently planning my final year project. I’ve discovered that Solid is both fascinating and complex enough to serve as the main topic for my project. Therefore, I want to delve into researching the essence of Solid and how it functions, followed by the implementation of a Solid-based system. This system could involve two Solid pod servers, each hosting multiple apps and websites that utilize users’ data stored on these servers.
However, I’m encountering some difficulties in diving deep into the world of Solid. I believe I need to acquire knowledge in various areas such as semantic web, distributed systems, web security, etc.
Could you please provide me with a roadmap for learning about Solid? Additionally, if you have any ideas or sources related to implementing a system based on Solid, that would be greatly appreciated.
Going through the SOLID-OIDC primer is enough about security, and you can read extra about Oauth2.0 and OIDC protocols. Resources on those two are plentiful.
For working with the server, go to the community solid server github page and try running it and testing the applications written with the Inrupt libraries against your server. You can run the server with extra verbose debugging to see the requests and what is happening.
For semantic web, just look up RDF explanations on youtube or online. For web security you should read JWK and JWT specs, as well as the SOLID-OIDC working document.
You’re welcome. Just know that there is plenty of SOLID that is still an evolving specification. This has its ups and downs for development, but it also means you’re allowed to try some things within reason. If you want to be a bit creative go ahead. The more experience with the tools and applications, the better the feedback can be in the community. Thanks for joining us.
still an evolving specification
One consequence of this is that you (anyone reading this) can contribute to the specs. If you have a question about a spec, or something you would really like the specs to specify, or feedback about how it is to work with a given spec … go to the chat room https://app.gitter.im/#/room/#solid_specification:gitter.im or join the weekly specifications meetings - see here for details ;GitHub - solid/specification: Solid Technical Reports.
I’ve also written a small writeup regarding security when using Solid: GitHub - Otto-AA/solid-security-basics: Basic security considerations for solid applications. It assumes basic familiarity with Solid, so some ideas could be confusing if you’re completely new, but I think it could still be helpful