I'll break the ice with one of my own projects. I'm inventing the format for these posts right here and now, feel free to deviate from it as you see fit -- just make sure to include the relevant information (important things to cover listed
in italics before each section. You don't have to include the italicized words, just make sure your post includes what they're describing). We'll have a more structured route for onboarding projects down the road, but for now a post similar to this will suffice.
(Title and description of project)
Tweet With C or
TWC is a C99-compatible library for interacting with the Twitter API. It aims to make it possible to call any twitter API endpoint with a simple, easy to use function call. Its sole dependency is cURL, which can be linked statically or dynamically -- all OAuth authentication is handled in-library. It is designed to be as portable as C99 and cURL are, and should work on any platform thus supported.
(Current status of project)
As of right now, the library can successfully make an authenticated API call with arbitrary URLs and GET or POST parameters. Of the Twitter REST API endpoints, 4 out of 81 currently have explicitly wrapped function calls with structs defined to make their possible parameters explicit. Of the rest, all but 3 can be called with manually collected parameters through the arbitrary call function.
(Roadmap to release, estimated 'ready' date)
The target for the first version of the library is to have a one-to-one mapping between library function calls and twitter REST API endpoints. Limited support is planned for the streaming API and for giving client applications tools to implement various types of authentication flow (application-only, token-based, embedded OAuth confirmation page). Counterpart projects are in the works for parsing JSON strings (useful for interpreting API results) and providing a higher-level interface to twitter features and common automation tasks for e.g. generative content twitter bots or native twitter clients. These may be integrated into post-1.0 releases of the project or they may be released separately.
(Screenshots/logos/indication of progress)