Fetching the latest programs, projects, and workspace data.

The Future is API-First
Showing 5 of 19 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Savio Dias
My proposal aims to improve the user experience and developer experience for AsyncAPI-Preview extension. The main problem being solved is the difficulty in identifying and resolving common and custom linting errors in AsyncAPI documents. By leveraging the VSCode API for providing quick/autofixes for linting errors, my proposal plans to add an "Auto Fix" feature for most common and standard Spectral linting errors in AsyncAPI documents. The proposed deliverables for this project include: -Integration of AsyncAPI-Preview and Spectral for VSCode extensions -Implementation of Code Actions for standard Spectral linting errors in AsyncAPI documents -Support for computing json-path to source code and vice versa -Investigation on loading autofix rules from external files to support custom (non-standard) Spectral linting rules Overall, this project aims to streamline the AsyncAPI-Preview process and improve the quality of AsyncAPI documents by providing developers with a more user-friendly and efficient way to identify and fix common and custom linting errors.
Mentors: Student: Agnivesh Chaubey
The world of JSON Schema is immense. JSON Schema tooling exists in countless languages across a variety of uses (data validation of course a noteworthy and prominent one). Implementing the JSON Schema specification(s) in a fully compliant way is not without challenge, meaning as a user of JSON Schema it is important to understand how a particular implementation may deviate such that one can make constructive tooling choices or help implementations improve. Bowtie is a recently created tool to aide in this task, helping to surface the conformance of various JSON Schema tools with the specification by running them against a set of known correct test cases and regularly rendering the results to a web page. But it can do more! Expected Outcomes: Enhance (or replace) Bowtie's simplistic current UI so that it most easily answers "what do various implementations say about each test case" -- making it snappier and more featureful Add support for further JSON Schema implementations by creating Bowtie harnesses in additional languages Teach Bowtie to compare not only True/False validation results but also the full JSON Schema standardized output formats
Mentors: Student: Alexander Godwin
This project aims to enable many authentication frameworks and add support for an authentication layer to Glee. This will give developers the ability to use Glee to create secure online applications with a variety of authentication choices. To accommodate future additions of new authentication frameworks, the authentication layer will be created to be modular and adaptable. After this project, when using Glee to build a server, the developer should be able to specify the authentication strategy they wish to support. Token-based authentication: This could be done using the jsonwebtoken npm package, provision will be made for both refresh and access tokens. Access tokens will be short-lived tokens, while refresh tokens will have longer life spans and allow for renewal of the access tokens. Basic authentication: This authentication strategy would be implemented from scratch. Certificate-based authentication: certificate-based authentication will be implemented from scratch. OAuth 2.0 authentication: OAuth 2.0 authentication will be achieved using the node-oauth2-server npm package. Session-based authentication: The viable option here will be to build the session-based authentication from scratch, as many of the options available such as passport-session, express-session, and fastify/session are all framework dependent.
Mentors: Student: Ishaan Shah
The goal of this project is to provide a robust yet easy way to search Github for Swagger and OpenAPI definitions. Understanding that there is a lot of noise available, that we only care about OpenAPIs that validate, and that the Github API has rate limits that require you to automate the crawling over time. Providing a robust open-source solution that will crawl public Github repositories for machine-readable API definitions. The project will consist of developing an open-source API that allows you to pass in search parameters and then utilize the GitHub API to perform the search, helping simplify the search interface, make rate limits visible as part of the response, and handle conducting a search in an asynchronous way, allowing the user to make a call to initiate, but then separate calls to receive results over time as results come in, helping show outcomes over time
Mentors: Student: Pragya Bhardwaj
This project is to create a catalog of the OpenAPI definitions for the various Schema.org types. Also, providing a robust set of starting OpenAPI templates for helping developers to understand and develop new APIs using a design-first approach.