From 36961bcb4c9370150770622b99335949c59f52b6 Mon Sep 17 00:00:00 2001 From: ZabithFulail Date: Sun, 30 Mar 2025 08:40:04 +0530 Subject: [PATCH 1/4] initial idea submission API Dash Feature Improvements --- ...dea_sabith_fulail_dash_bot_ai_assistant.md | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 doc/proposals/2025/gsoc/idea_sabith_fulail_dash_bot_ai_assistant.md diff --git a/doc/proposals/2025/gsoc/idea_sabith_fulail_dash_bot_ai_assistant.md b/doc/proposals/2025/gsoc/idea_sabith_fulail_dash_bot_ai_assistant.md new file mode 100644 index 00000000..1bf0cf74 --- /dev/null +++ b/doc/proposals/2025/gsoc/idea_sabith_fulail_dash_bot_ai_assistant.md @@ -0,0 +1,102 @@ +### Initial Idea Submission + +Full Name: Sabith Fulail +University name: Informatics Institute of Technology (IIT | Colombo, Sri Lanka) +Program you are enrolled in (Degree & Major/Minor): BSc (Hons) Computer Science (Data Science) +Year: 3rd Year +Expected graduation date: May, 2026 + +Project Title: Adding Support for API Authentication Methods + +Relevant issues: + [#557](https://github.com/foss42/apidash/issues/557) – Pre-request and post-request scripts + [#121](https://github.com/foss42/apidash/issues/121) – Importing from/Exporting to OpenAPI/Swagger specification + [#337](https://github.com/foss42/apidash/issues/337) – Support for application/x-www-form-urlencoded + [#352](https://github.com/foss42/apidash/issues/352) – Support file as request body + [#22](https://github.com/foss42/apidash/issues/22) – JSON body syntax highlighting, beautification, validation + [#581](https://github.com/foss42/apidash/issues/581) – Beautify JSON request body (Closed) + [#582](https://github.com/foss42/apidash/issues/582) – Syntax highlighting for JSON request body (Closed) + [#583](https://github.com/foss42/apidash/issues/583) – Validation for JSON request body + [#590](https://github.com/foss42/apidash/issues/590) – Environment variable support in request body + [#591](https://github.com/foss42/apidash/issues/591) – Environment variable support for text request body + [#592](https://github.com/foss42/apidash/issues/592) – Environment variable support for JSON request body + [#593](https://github.com/foss42/apidash/issues/593) – Environment variable support for form request body + [#599](https://github.com/foss42/apidash/issues/599) – Support for comments in JSON request body + [#600](https://github.com/foss42/apidash/issues/600) – Reading environment variables from OS environment + [#601](https://github.com/foss42/apidash/issues/601) – Adding color support for environments + [#373](https://github.com/foss42/apidash/issues/373) – In-app update notifications + +Idea description: + This project will streamline API testing in API Dash by introducing pre/post-request scripting, robust OpenAPI/Swagger interoperability, + and enhanced JSON/GraphQL editing. These changes will reduce manual effort in API debugging and improve workflow efficiency. + + +Implementation Plan +Phase 1: Research & Planning (Week 1-2) + Study existing API Dash architecture and feature requests. + Prioritize features based on complexity and impact. + Research best practices for JSON syntax validation, GraphQL handling, and API import/export. + +Phase 2: Core Feature Development (Week 3-10) + 1. Pre-Request & Post-Request Scripts (#557) + Enable users to modify requests and responses dynamically before sending. + This includes automating tasks such as adding authentication tokens, handling environment variables, + chaining API requests, and transforming request/response data. + + 2. OpenAPI/Swagger Import & Export (#121) + Allow importing API requests from OpenAPI/Swagger JSON/YAML files. + Implement API export functionality to generate valid OpenAPI specifications. + + 3. JSON Body Enhancements (#22) + Add syntax highlighting, beautification, and validation for JSON request bodies. + Provide auto-formatting and error detection for malformed JSON. + + 4. GraphQL Editor Improvements + Add expand/collapse feature for GraphQL queries. + Implement support for GraphQL fragments, mutations, and subscriptions. + Improve GraphQL schema inspection. + + 5. Support for More Content Types (#337) + Add support for application/x-www-form-urlencoded and file upload as request body. + +Phase 3: Enhancements & Testing (Week 11-14) + 6. Environment Variable & UI Improvements (#600, #601) + Allow reading OS environment variables directly. + Introduce color-coded environments (e.g., RED for Prod, GREEN for Dev). + + 7. In-App Update Notifications (#373) + Notify users when a new version of API Dash is available. + Provide an update button to quickly navigate to the latest release. + + 8. Increase Test Coverage + Write more widget & integration tests to improve code coverage. + Ensure major UI and backend features are fully tested before release. + +Tech Stack & Tools + Feature | Tech/Tools + + Frontend | Flutter (Dart) + API Parsing | OpenAPI, Swagger + JSON Enhancements | CodeMirror, Ace Editor + GraphQL | GraphQL Parser (Dart) + Testing | Widget Testing, Integration Testing + Environment Handling | OS Environment Variables (Dart) + + +Why This Project? + Enhances Developer Productivity – Improves usability with better request handling, scripting, and JSON validation. + Better GraphQL Support – Adds crucial missing features to enhance GraphQL development. + Improves API Import/Export – Makes API Dash more interoperable with OpenAPI and Swagger. + Strengthens Stability & Testing – Increases test coverage and enhances debugging efficiency. + +These improvements will help make API Dash more competitive with other API tools by adding support for advanced +use cases such as authentication management, JSON syntax validation, and seamless GraphQL integration + +Future Scope + Implement gRPC support to expand API Dash's capabilities. + Improve UI/UX for better user experience. + Add VS Code & JetBrains integration for a seamless developer workflow. + +This project will provide meaningful improvements to API Dash and enhance the overall user experience. +I am excited to work on these features and contribute to making API Dash a more powerful tool! + From 44514360b1a48349d451b33c61fda31767471187 Mon Sep 17 00:00:00 2001 From: ZabithFulail Date: Sun, 30 Mar 2025 08:43:31 +0530 Subject: [PATCH 2/4] initial idea submisson API Dash Feature Improvements --- ...ant.md => idea_sabith_fulail_api_dash_feature_improvements.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/proposals/2025/gsoc/{idea_sabith_fulail_dash_bot_ai_assistant.md => idea_sabith_fulail_api_dash_feature_improvements.md} (100%) diff --git a/doc/proposals/2025/gsoc/idea_sabith_fulail_dash_bot_ai_assistant.md b/doc/proposals/2025/gsoc/idea_sabith_fulail_api_dash_feature_improvements.md similarity index 100% rename from doc/proposals/2025/gsoc/idea_sabith_fulail_dash_bot_ai_assistant.md rename to doc/proposals/2025/gsoc/idea_sabith_fulail_api_dash_feature_improvements.md From 61670a200ddcdf24cce6991c3bc78f867cd91c57 Mon Sep 17 00:00:00 2001 From: ZabithFulail Date: Sun, 30 Mar 2025 08:53:26 +0530 Subject: [PATCH 3/4] initial idea submisson API Dash Feature Improvements --- .../gsoc/idea_sabith_fulail_api_dash_feature_improvements.md | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/proposals/2025/gsoc/idea_sabith_fulail_api_dash_feature_improvements.md b/doc/proposals/2025/gsoc/idea_sabith_fulail_api_dash_feature_improvements.md index 1bf0cf74..b612dcd0 100644 --- a/doc/proposals/2025/gsoc/idea_sabith_fulail_api_dash_feature_improvements.md +++ b/doc/proposals/2025/gsoc/idea_sabith_fulail_api_dash_feature_improvements.md @@ -81,7 +81,6 @@ Tech Stack & Tools GraphQL | GraphQL Parser (Dart) Testing | Widget Testing, Integration Testing Environment Handling | OS Environment Variables (Dart) - Why This Project? Enhances Developer Productivity – Improves usability with better request handling, scripting, and JSON validation. From a9295a9d664e9747837a18f2dbfa9892fa8e2b75 Mon Sep 17 00:00:00 2001 From: ZabithFulail Date: Sun, 30 Mar 2025 08:55:38 +0530 Subject: [PATCH 4/4] initial idea submisson API Dash Feature Improvements --- .../gsoc/idea_sabith_fulail_api_dash_feature_improvements.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/proposals/2025/gsoc/idea_sabith_fulail_api_dash_feature_improvements.md b/doc/proposals/2025/gsoc/idea_sabith_fulail_api_dash_feature_improvements.md index b612dcd0..67742185 100644 --- a/doc/proposals/2025/gsoc/idea_sabith_fulail_api_dash_feature_improvements.md +++ b/doc/proposals/2025/gsoc/idea_sabith_fulail_api_dash_feature_improvements.md @@ -82,6 +82,7 @@ Tech Stack & Tools Testing | Widget Testing, Integration Testing Environment Handling | OS Environment Variables (Dart) + Why This Project? Enhances Developer Productivity – Improves usability with better request handling, scripting, and JSON validation. Better GraphQL Support – Adds crucial missing features to enhance GraphQL development.