API Dash
API Dash is a beautiful open-source cross-platform HTTP Client that can help you explore APIs.
Repository Video πΊοΈAPI Dash β‘οΈ
API Dash is a beautiful open-source cross-platform HTTP Client that can help you explore APIs.
Using API Dash, you can draft API requests via an easy to use GUI. It allows you to:
- Create different types of HTTP requests (GET, POST, PUT, etc.)
- Easily manipulate and play around with request inputs like headers, query parameters and body.
- Parse the response to inspect the outputs (HTTP status code, error messages, header, body, time taken) to better understand, debug and test the APIs.
Motivation
Our team (Ankit & Ashita) started the foss42 initiative of building open source APIs a few months back and after working with various API clients we always felt that many of these clients lacked cross-platform support and good code generation ability especially for mobile first developers. As Flutter is a cross-platform framework and could help us achieve this from a single code-base, we decided to start working on this open source initiative in FOSS Hack 3.0 using Flutter.
Project Timeline
This is a new project that was started on 4th March, 2023 and all current progress that has been made is during the hackathon period.
Roadmap
The following is the initial roadmap that we laid out before we started hacking this project. (What we have achieved so far has a tick)
β
App UI
β
Allowing users to create, duplicate, delete, rearrange API requests
β
Flutter App State Management using riverpod
β
Users can select the request method (GET, POST, PATCH, etc.)
β
Users can input query parameters, headers and body
β
Fetching results
β
Displaying results is a nice form
β
Users can take a copy of the response
π§ Generating the Dart code corresponding to the requests
π§ Saving the collection of requests created by the user (Persistence)
Current Limitations
- The request body currently supports only text and json input. File, Form-field and other inputs will be supported soon.
- The response body that can be currently visualized should be a text or json. We have plans to support more mime-types in near future. For example, if the response is a video, the user will be able to directly play that video in the tool in near future.
- Due to time constraints we currently do not have collection persistence or export as it will require some more work and we will continue working on it.
Just when life was going like a breeze, Two bugs came and bit us. 1 UI, 1 Backend. The hustle continues.
Ui & Design process completed. Our team is now deep into implementation.
Project created by Ankit Mahato