Skip to content

Commit 2ccad02

Browse files
authored
Merge branch 'foss42:main' into main
2 parents 6e15fc9 + 6dce182 commit 2ccad02

File tree

6 files changed

+448
-4
lines changed

6 files changed

+448
-4
lines changed

README.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,19 @@
11
# API Dash ⚡️
22

3-
[![Discord Server Invite](https://img.shields.io/badge/DISCORD-JOIN%20SERVER-5663F7?style=for-the-badge&logo=discord&logoColor=white)](https://bit.ly/heyfoss)
3+
[![Discord Server Invite](https://img.shields.io/badge/DISCORD-JOIN%20SERVER-5663F7?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/invite/bBeSdtJ6Ue)
4+
5+
### 🚨🚨 API Dash is participating in GSoC 2025! Check out the details below:
6+
7+
<img src="https://github.com/foss42/apidash/assets/615622/493ce57f-06c3-4789-b7ae-9fa63bca8183" alt="GSoC" width="500">
8+
9+
| | Link |
10+
|--|--|
11+
| Learn about GSoC | [Link](https://summerofcode.withgoogle.com) |
12+
| API Dash GSoC Page | [Link](https://summerofcode.withgoogle.com/programs/2025/organizations/api-dash) |
13+
| Project Ideas List | [Link](https://github.com/foss42/apidash/discussions/565) |
14+
| Application Guide | [Link](https://github.com/foss42/apidash/discussions/564) |
15+
| Discord Channel | [Link](https://discord.com/invite/bBeSdtJ6Ue) |
16+
417

518
### Please support this initiative by giving this project a Star ⭐️
619

@@ -277,4 +290,4 @@ You can contribute to API Dash in any or all of the following ways:
277290

278291
## Need Any Help?
279292

280-
In case you need any help with API Dash or are encountering any issue while running the tool, please feel free to drop by our [Discord server](https://bit.ly/heyfoss) and we can have a chat in the **#foss-apidash** channel.
293+
In case you need any help with API Dash or are encountering any issue while running the tool, please feel free to drop by our [Discord server](https://discord.com/invite/bBeSdtJ6Ue) and we can have a chat in the **#foss-apidash** channel.
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# AI-Powered API Testing and Tool Integration
2+
3+
## Personal Information
4+
5+
- **Full Name:** Debasmi Basu
6+
- **Email:** [[email protected]](mailto:[email protected])
7+
- **Phone:** +91 7439640610
8+
- **Discord Handle:** debasmibasu
9+
- **Home Page:** [Portfolio](https://debasmi.github.io/portfolio/portfolio.html)
10+
- **GitHub Profile:** [Debasmi](https://github.com/debasmi)
11+
- **Socials:**
12+
- [LinkedIn](https://www.linkedin.com/in/debasmi-basu-513726288/)
13+
- **Time Zone:** Indian Standard Time
14+
- **Resume:** [Google Drive Link](https://drive.google.com/file/d/1o5JxOwneK-jv2GxnKTrzk__n7UbSKTPt/view?usp=sharing)
15+
16+
## University Info
17+
18+
- **University Name:** Cluster Innovation Centre, University of Delhi
19+
- **Program:** B.Tech. in Information Technology and Mathematical Innovations
20+
- **Year:** 2023 - Present
21+
- **Expected Graduation Date:** 2027
22+
23+
## Motivation & Past Experience
24+
25+
### Project of Pride: Image Encryption using Quantum Computing Algorithms
26+
27+
This project represents my most significant achievement in the field of quantum computing and cybersecurity. I developed a **quantum image encryption algorithm** using **Qiskit**, leveraging quantum superposition and entanglement to enhance security. By implementing the **NEQR model**, I ensured **100% accuracy in encryption**, preventing any data loss. Additionally, I designed **advanced quantum circuit techniques** to reduce potential decryption vulnerabilities, pushing the boundaries of modern encryption methods.
28+
29+
This project is my pride because it merges **cutting-edge quantum computing** with **practical data security applications**, demonstrating the **real-world potential of quantum algorithms in cryptography**. It reflects my deep technical expertise in **Qiskit, Python, and quantum circuits**, as well as my passion for exploring **future-proof encryption solutions**.
30+
31+
### Challenges that Motivate Me
32+
33+
I am driven by challenges that push the boundaries of **emerging technologies, security, and web development**. The intersection of **AI, cybersecurity, web applications, and quantum computing** excites me because of its potential to redefine **secure digital interactions**. My passion lies in building **robust, AI-powered automation systems** that enhance **security, efficiency, and accessibility** in real-world applications. Additionally, I enjoy working on **scalable web solutions**, ensuring that modern applications remain secure and user-friendly.
34+
35+
### Availability for GSoC
36+
37+
- **Will work full-time on GSoC.**
38+
- I will also dedicate time to exploring **LLM-based security frameworks**, improving **web API integration**, and enhancing my expertise in **AI-driven automation**.
39+
40+
### Regular Sync-Ups
41+
42+
- **Yes.** I am committed to maintaining **regular sync-ups** with mentors to ensure steady project progress and discuss improvements in API security and automation.
43+
44+
### Interest in API Dash
45+
46+
- The potential to integrate **AI-powered automation** for API testing aligns perfectly with my expertise in **web development, backend integration, and security automation**.
47+
- I see a great opportunity in **enhancing API security validation** using AI-driven techniques, ensuring robust **schema validation and intelligent error detection**.
48+
49+
### Areas for Improvement
50+
51+
- API Dash can expand **real-time collaborative testing features**, allowing teams to test and debug APIs more efficiently.
52+
- Enhancing **security automation** by integrating **AI-powered API monitoring** would significantly improve API Dash’s effectiveness.
53+
54+
---
55+
56+
## Project Proposal
57+
58+
### **Title**
59+
60+
AI-Powered API Testing and Tool Integration
61+
62+
### **Abstract**
63+
64+
API testing often requires **manual test case creation and validation**, making it inefficient. Additionally, **converting APIs into structured definitions for AI integration** is a complex task. This project aims to **automate test generation, response validation, and structured API conversion** using **LLMs and AI agents.** The system will provide **automated debugging insights** and integrate seamlessly with **pydantic-ai** and **langgraph.** A **benchmarking dataset** will also be created to evaluate various LLMs for API testing tasks.
65+
66+
### **Weekly Timeline**
67+
68+
| Week | Focus | Key Deliverables & Achievements |
69+
|---------------|--------------------------------|------------------------------------------------------------------------|
70+
| **Week 1-2** | Research & Architecture | Study existing API testing tools, research AI automation methods, explore web-based API testing interfaces, and define the project architecture. Expected Outcome: Clear technical roadmap for implementation. |
71+
| **Week 3-4** | API Specification Parsing | Develop a parser to extract API endpoints, request methods, authentication requirements, and response formats from OpenAPI specs, Postman collections, and raw API logs. Expected Outcome: Functional API parser capable of structured data extraction and visualization. |
72+
| **Week 5-6** | AI-Based Test Case Generation | Implement an AI model that analyzes API specifications and generates valid test cases, including edge cases and error scenarios. Expected Outcome: Automated test case generation covering standard, edge, and security cases, integrated into a web-based UI. |
73+
| **Week 7-8** | Response Validation & Debugging | Develop an AI-powered validation mechanism that checks API responses against expected schemas and detects inconsistencies. Implement logging and debugging tools within a web dashboard to provide insights into API failures. Expected Outcome: AI-driven validation tool with intelligent debugging support. |
74+
| **Week 9-10** | Structured API Conversion | Design a system that converts APIs into structured tool definitions compatible with pydantic-ai and langgraph, ensuring seamless AI agent integration. Expected Outcome: Automated conversion of API specs into structured tool definitions, with visual representation in a web-based interface. |
75+
| **Week 11-12**| Benchmarking & Evaluation | Create a dataset and evaluation framework to benchmark different LLMs for API testing performance. Conduct performance testing on generated test cases and validation mechanisms. Expected Outcome: A benchmarking dataset and comparative analysis of LLMs in API testing tasks, integrated into a web-based reporting system. |
76+
| **Final Week**| Testing & Documentation | Perform comprehensive end-to-end testing, finalize documentation, create usage guides, and submit the final project report. Expected Outcome: Fully tested, documented, and ready-to-use AI-powered API testing framework, with a web-based dashboard for interaction and reporting. |
77+
78+
---
79+
80+
## Conclusion
81+
82+
This project will significantly **enhance API testing automation** by leveraging **AI-driven test generation, web-based API analysis, and structured tool conversion**. The benchmarking dataset will provide **a standard evaluation framework** for API testing LLMs, ensuring **optimal model selection for API validation**. The resulting **AI-powered API testing framework** will improve **efficiency, accuracy, security, and scalability**, making API Dash a more powerful tool for developers.
83+
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# GSoC 2025 Proposal: AI UI Designer for APIs
2+
3+
## About
4+
5+
**Full Name**: Ning Wei
6+
**Contact Info**: [email protected]
7+
**Discord Handle**: @allen_wn
8+
**GitHub Profile**: [https://github.com/AllenWn](https://github.com/AllenWn)
9+
**LinkedIn**: [https://www.linkedin.com/in/ning-wei-allen0503](https://www.linkedin.com/in/ning-wei-allen0503)
10+
**Time Zone**: UTC+8
11+
**Resume**: https://drive.google.com/file/d/1Zvf1IhKju3rFfnDsBW1WmV40lz0ZMNrD/view?usp=sharing
12+
13+
## University Info
14+
15+
**University**: University of Illinois at Urbana-Champaign
16+
**Program**: B.S. in Computer Engineering
17+
**Year**: 2nd year undergraduate
18+
**Expected Graduation**: May 2027
19+
20+
---
21+
22+
## Motivation & Past Experience
23+
24+
1. **Have you worked on or contributed to a FOSS project before?**
25+
Not yet officially, but I’ve been actively exploring open source projects like API Dash and contributing via discussion and design planning. I am currently studying the API Dash repository and developer guide to prepare for my first PR.
26+
27+
2. **What is your one project/achievement that you are most proud of? Why?**
28+
I'm proud of building an AI-assisted email management app using Flutter and Go, which automatically categorized and responded to emails using ChatGPT API. It gave me end-to-end experience in integrating APIs, generating dynamic UIs, and designing developer-friendly tools.
29+
30+
3. **What kind of problems or challenges motivate you the most to solve them?**
31+
I enjoy solving problems that eliminate repetitive work for developers and improve workflow productivity — especially through automation and AI integration.
32+
33+
4. **Will you be working on GSoC full-time?**
34+
Yes. I will be dedicating full-time to this project during the summer.
35+
36+
5. **Do you mind regularly syncing up with the project mentors?**
37+
Not at all — I look forward to regular syncs and feedback to align with the project vision.
38+
39+
6. **What interests you the most about API Dash?**
40+
API Dash is focused on improving the developer experience around APIs, which is something I care deeply about. I love the vision of combining UI tools with AI assistance in a privacy-first, extensible way.
41+
42+
7. **Can you mention some areas where the project can be improved?**
43+
- More intelligent code generation from API response types
44+
- Drag-and-drop UI workflow
45+
- Visual previews and theming customization
46+
- Integration with modern LLMs for field-level naming and layout suggestions
47+
48+
---
49+
50+
## Project Proposal Information
51+
52+
### Proposal Title
53+
54+
AI UI Designer for APIs
55+
56+
# Relevant Issues: [#617]
57+
58+
### Abstract
59+
60+
This project aims to develop an AI-powered assistant within API Dash that automatically generates dynamic user interfaces (UI) based on API responses (JSON/XML). The goal is to allow developers to instantly visualize, customize, and export usable Flutter UI code from raw API data. The generated UI should adapt to the structure of the API response and be interactive, with features like sorting, filtering, and layout tweaking. This tool will streamline frontend prototyping and improve developer productivity.
61+
62+
---
63+
64+
### Detailed Description
65+
66+
The AI UI Designer will be a new feature integrated into the API Dash interface, triggered by a button after an API response is received. It will analyze the data and suggest corresponding UI layouts using Dart/Flutter widgets such as `DataTable`, `Card`, or `Form`.
67+
68+
#### Step 1: Parse API Response Structure
69+
70+
- Focus initially on JSON (XML can be added later)
71+
- Build a recursive parser to convert the API response into a schema-like tree
72+
- Extract field types, array/object structure, nesting depth
73+
- Identify patterns (e.g., timestamps, prices, lists)
74+
75+
#### Step 2: Design AI Agent Logic
76+
77+
- Use a rule-based system to map schema to UI components
78+
- List of objects → Table
79+
- Simple object → Card/Form
80+
- Number over time → Line Chart (optional)
81+
- Integrate LLM backend (e.g., Ollama, GPT API) to enhance:
82+
- Field labeling
83+
- Layout suggestion
84+
- Component naming
85+
86+
#### Step 3: Generate UI in Flutter
87+
88+
- Dynamically generate:
89+
- `DataTable`, `Card`, `TextField`, `Dropdown`, etc.
90+
- Optional chart widgets (e.g., `fl_chart`)
91+
- Support:
92+
- Layout rearrangement (form-based or drag-drop)
93+
- Field visibility toggles
94+
- Previewing final UI
95+
96+
#### Step 4: Export UI Code
97+
98+
- Export generated layout as Dart code
99+
- Allow download or copy-to-clipboard
100+
- Support JSON config export (optional for renderer-based architecture)
101+
102+
#### Step 5: Integrate into API Dash
103+
104+
- Add AI UI Designer button in the API response view
105+
- Launch UI editing pane inside app
106+
- Ensure local-only, privacy-friendly execution
107+
- Write tests, docs, and polish UX
108+
109+
---
110+
111+
## Weekly Timeline (Tentative)
112+
113+
| Week | Milestone |
114+
|------|-----------|
115+
| Community Bonding | Join Discord, interact with mentors, finalize approach, get feedback |
116+
| Week 1–2 | Build and test JSON parser → generate basic schema |
117+
| Week 3–4 | Implement rule-based UI mapper; generate simple widgets |
118+
| Week 5–6 | Integrate initial Flutter component generator; allow basic UI previews |
119+
| Week 7 | Midterm Evaluation |
120+
| Week 8–9 | Add customization options (visibility, layout) |
121+
| Week 10 | Integrate AI backend (e.g., Ollama/GPT) for suggestions |
122+
| Week 11–12 | Add export functions (code, JSON config) |
123+
| Week 13 | Final polish, tests, docs |
124+
| Week 14 | Final Evaluation, feedback, and delivery |
125+
126+
---
127+
128+
Thanks again for your time and guidance. I’ve already started studying the API Dash codebase and developer guide, and I’d love your feedback on this plan — does it align with your vision?
129+
If selected, I’m excited to implement this project. If this idea is already taken, I’m open to switching to another API Dash project that fits my background.
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# **Initial Idea Submission : API Explorer**
2+
3+
**Full Name:** BALASUBRAMANIAM L
4+
**University Name:** Saveetha Engineering College
5+
**Program (Degree & Major/Minor):** Bachelor of technology Machine Learning
6+
**Year:** First year
7+
**Expected Graduation Date:** 2028
8+
9+
**Project Title:** API Explorer
10+
**Relevant Issues:** [https://github.com/foss42/apidash/issues/619](https://github.com/foss42/apidash/issues/619)
11+
12+
## **Project Overview**
13+
14+
Our goal is to enhance API Dash by adding an API Explorer feature. This feature allows users to discover, browse, search, and import pre-configured API endpoints for testing and exploration. All API templates will be maintained in YAML, JSON, HTML, and Markdown formats within a dedicated folder in the existing Apidash GitHub repository.
15+
16+
In the initial phase, contributors can manually add new API definition files (YAML, JSON, HTML, and MD) to the repo, run a local Dart script to process them into structured JSON format, and then commit and push the updated files. A Dart cron job will periodically check for new or modified API files and process them automatically. In the future, we plan to automate this process fully with GitHub Actions.
17+
18+
---
19+
20+
### **Key Concepts**
21+
22+
- **File Addition:**
23+
Contributors add new API files (YAML, JSON, HTML, or MD) to a designated folder (`/apis/`) in the Apidash repository.
24+
25+
- **Local Processing:**
26+
A local Dart script (e.g., `process_apis.dart`) runs to:
27+
- Read the files.
28+
- Parse and extract essential API details (title, description, endpoints, etc.).
29+
- Auto-generate sample payloads when examples are missing.
30+
- Convert and save the processed data as JSON files in `/api_templates/`.
31+
32+
- **Automated Fetching & Processing with Dart Cron Job:**
33+
- A Dart cron-like package will schedule the script to fetch and process **new and updated** API files **weekly or on demand**.
34+
- This reduces the need for constant manual execution and ensures templates stay up to date.
35+
36+
- **Version Control:**
37+
Contributors create a PR with both the raw YAML files and the generated JSON files to GitHub.
38+
39+
- **Offline Caching with Hive:**
40+
- The Flutter app (API Explorer) will fetch JSON templates and store them using **Hive**.
41+
- This ensures **fast loading and offline access**.
42+
43+
- **Fetching Updates via GitHub Releases (ZIP files):**
44+
- Instead of fetching updates via the GitHub API (which has rate limits), we can leverage **GitHub Releases**.
45+
- A new release will be created weekly or when at least 10 updates are made.
46+
- The Flutter app will download and extract the latest ZIP release instead of making multiple API calls.
47+
48+
---
49+
50+
### **Step-by-Step Workflow**
51+
52+
1. **Adding API Files:**
53+
- A contributor creates or updates an API file (e.g., `weather.yaml`) in the `/apis/` folder.
54+
55+
2. **Running the Local Processing Script (Manually):**
56+
- A Dart script (`process_apis.dart`) is executed locally:
57+
`dart run process_apis.dart`
58+
- The script:
59+
- Reads YAML files from `/apis/`.
60+
- Identifies the file format (YAML, JSON, HTML, MD).
61+
- Parses the content accordingly.
62+
- Extracts essential API details (title, description, endpoints, etc.).
63+
- Generates structured JSON templates in `/api_templates/`.
64+
65+
3. **Review, Commit, and PR Submission:**
66+
- Contributors review the generated JSON files.
67+
- They commit both raw API definition files and generated JSON files.
68+
- Submit a **Pull Request (PR)** for review.
69+
70+
4. **Offline Storage with Hive (Flutter Frontend):**
71+
- The Flutter app fetches JSON templates and stores them in Hive.
72+
- This ensures users can access API templates even when offline.
73+
74+
5. **Fetching Updates via GitHub Releases:**
75+
- A new **GitHub Release** (ZIP) will be created weekly or when at least 10 updates are made.
76+
- The Flutter app will **download and extract** the latest ZIP instead of making multiple API calls.
77+
- This approach avoids GitHub API rate limits and ensures a smooth user experience.
78+
79+
80+
81+
![alt text](images/API_EXPLORER_WORKFLOW.png)
82+
83+
---
84+
85+
## **Future Automation with GitHub Actions**
86+
87+
In the future, we can fully automate this process:
88+
89+
- A GitHub Action will trigger on updates to `/apis/`.
90+
- It will run the Dart processing script automatically.
91+
- The action will commit the updated JSON templates back to the repository.
92+
- A GitHub Release will be generated periodically to bundle processed files for easier access.
93+
- This ensures **continuous and consistent updates** without manual intervention.
94+
95+
---
96+
97+
## **Conclusion**
98+
99+
This Approach provides a simple and controlled method for processing API definitions. The use of a **Dart cron job** reduces manual effort by fetching and processing updates on a scheduled basis, while **Hive storage** ensures fast offline access in the Flutter app. Using **GitHub Releases (ZIP)** allows fetching updates efficiently without hitting rate limits. Once validated, we can transition to **GitHub Actions** for complete automation. This approach aligns well with our project goals and scalability needs.
100+
101+
**I look forward to your feedback and suggestions on this approach. Thank you!**
169 KB
Loading

0 commit comments

Comments
 (0)