zverok / lmsa

Let's Make Something Awesome! — project ideas repo for mentees
27 stars 0 forks source link

tlaw: generic HTTP API wrapper #8

Open zverok opened 6 years ago

zverok commented 6 years ago

Project

tlaw is a somewhat experimental library/DSL for creating fast, thin and reliable wrappers for HTTP APIs. Currently, it supports only GET APIs and lacks some deeper HTTP features (like headers passing or authorization), yet already proven to be a promising way to the "right" thickness balance.

The idea is to develop several generally useful TLAW-based wrappers for common APIs, adding new TLAW features on the way, when necessary.

Plan

  1. Go through lists of public APIs (like this one) and select those of general importance or interesting to you personally.
  2. Create TLAW-based wrappers for them and commit those to tlaws repo.
  3. Good wrapper should include:
    • Wrapper itself, with inline docs and proper hierarchical structure
    • Sanity tests for the wrapper (that it works and does what it is expected to do)
    • README/offline docs for it.

It is expected, that alongside the wrappers themselves, participants of the project also will/should:

  1. Develop some generic good ways of testing and describing small API wrappers;
  2. Enhance TLAW library with (no particular order):
    • Headers support
    • Authorization support
    • Non-GET requests support

Importance

Good abstractions layer for "thin" API wrappers, which can be developed by one person in a few hours and still be robust and useful, seems of general importance for the entire Ruby ecosystem. Also, some regular, small, well-documented wrappers for common APIs, working in the same manner on small yet solid foundation could become a project of huge popularity.

Skills and domains

This task will require a lot of experimenting with API and architecture, and serious intent to write less code, and rewrite a lot, and document a lot.

ryanzidago commented 5 years ago

First things first, thank you @zverok for offering some of your time !

Are you still looking for someone to contribute to the tlaw gem ? I'm pretty new to the software development world. Just started programming this year and went to a bootcamp too and have a couple of projects under my belt. Please, let me know if you'd like me to contribute.

Best, Ryan

zverok commented 4 years ago

@ryanzidago sorry for not responding, first I was on Internet-less vacation, and then just forgot :( If you are still interested, then yes, I'd be glad to work with you!