mirror of
https://github.com/foss42/apidash.git
synced 2025-08-06 13:51:20 +08:00
Merge pull request #803 from WannaCry016/patch-4
Create Application_Ayushman_Pal_API_Explorer.md
This commit is contained in:
137
doc/proposals/2025/gsoc/Application_Ayushman_Pal_API_Explorer.md
Normal file
137
doc/proposals/2025/gsoc/Application_Ayushman_Pal_API_Explorer.md
Normal file
@ -0,0 +1,137 @@
|
||||
### About
|
||||
|
||||
1. Full Name: Ayushman Pal
|
||||
2. Contact info (email, phone, etc.):
|
||||
- Email: payushman72@gmail.com
|
||||
- Phone: +91-8755087453
|
||||
3. Discord handle: mr_robot_016
|
||||
4. Home page (if any): https://github.com/WannaCry016
|
||||
5. GitHub profile link: https://github.com/WannaCry016
|
||||
6. LinkedIn: https://www.linkedin.com/in/ayushman-pal-392323254/
|
||||
7. Time zone: Indian Standard Time
|
||||
8. Link to a resume (PDF, publicly accessible via link and not behind any login-wall):
|
||||
https://drive.google.com/file/d/18zCj5FUC4uffh8LmrSQft90mIry6iXDY/view
|
||||
|
||||
### University Info
|
||||
|
||||
1. University name: Indian Institute of Technology, Madras
|
||||
2. Program you are enrolled in (Degree & Major/Minor): BTech, Chemical Engineering
|
||||
3. Year: 3rd Year
|
||||
4. Expected graduation date: 08/2026
|
||||
|
||||
### Motivation & Past Experience
|
||||
|
||||
1. **Have you worked on or contributed to a FOSS project before? Can you attach repo links or relevant PRs?**
|
||||
Yes, I have contributed to FOSS projects:
|
||||
- https://github.com/foss42/apidash/pull/684: Fixed UI alignment issues to improve visual consistency across the app.
|
||||
- https://github.com/foss42/apidash/pull/725: Made enhancements to the UI.
|
||||
- https://github.com/foss42/apidash/pull/794: Replaced the underlying HTTP client from `http` to `dio`, enabling better error handling and extensibility.
|
||||
|
||||
2. **What is your one project/achievement that you are most proud of? Why?**
|
||||
One project I’m proud of is the OEMS (Order Execution Management System), which I built in C++. It was a challenging backend system involving low-level networking, WebSockets, multi-threading, and real-time data streaming. I learned a lot about performance optimization and robust backend design through this project.
|
||||
|
||||
3. **What kind of problems or challenges motivate you the most to solve them?**
|
||||
I’m most motivated by problems that involve developer experience, performance bottlenecks, and clean abstractions. I enjoy creating tools that improve developer workflows, exploring AI-powered enhancements, and optimizing real-time systems.
|
||||
|
||||
4. **Will you be working on GSoC full-time? In case not, what will you be studying or working on while working on the project?**
|
||||
Yes, I plan to dedicate myself full-time to GSoC and ensure consistent progress throughout the coding period.
|
||||
|
||||
5. **Do you mind regularly syncing up with the project mentors?**
|
||||
Not at all — I value regular sync-ups and feedback to stay aligned with project goals and to produce high-quality work.
|
||||
|
||||
6. **What interests you the most about API Dash?**
|
||||
API Dash is a clean, elegant tool built with a strong focus on developer productivity. I love its minimalist UI, open-source ethos, and the potential it has to become a one-stop tool for API testing with AI-enhanced features.
|
||||
|
||||
7. **Can you mention some areas where the project can be improved?**
|
||||
- Adding support for protocols beyond REST/GraphQL (like gRPC or WebSockets).
|
||||
- Making the API explorer more interactive and intuitive.
|
||||
- Providing a plugin system or richer AI assistance during request creation.
|
||||
|
||||
|
||||
### Project Proposal Information
|
||||
|
||||
**Proposal Title**: API Explorer: A Curated & Customizable API Library for API Dash
|
||||
|
||||
**Abstract**:
|
||||
API Dash lacks a built-in feature for discovering, managing, and importing publicly available APIs efficiently. Developers often manually set up API requests, which leads to repetitive, error-prone setups and increases onboarding time.
|
||||
|
||||
**Solution**:
|
||||
The API Explorer aims to address this by allowing developers to browse, save, import, and generate pre-filled API requests using various formats (OpenAPI, Postman, etc.). Key features include:
|
||||
|
||||
- Discover curated API templates categorized by domain (e.g., Finance, AI, Weather).
|
||||
- Upload OpenAPI/Postman/HTML documentation files and auto-generate corresponding API templates.
|
||||
- Save custom user-defined API templates for future use.
|
||||
- View endpoint metadata (parameters, authentication methods, response samples).
|
||||
- AI-assisted filling of incomplete documentation and auto-suggesting missing fields.
|
||||
- Convert an existing API request into a reusable template via one-click export.
|
||||
- Seamless integration into the Request Tab, allowing quick import and testing.
|
||||
- Future extensibility with plugin support or integrations with public API marketplaces.
|
||||
|
||||
**Detailed Description**:
|
||||
The API Explorer will be developed as a modular and extensible component within API Dash. It will include a frontend section (likely under a new tab) to explore API templates and a backend engine to parse uploaded OpenAPI specs or Postman collections. The templates will be stored either locally or optionally synced with GitHub gists/cloud. Each template will display metadata like endpoint name, method, headers, body format, query/path parameters, and examples. There will be options to import templates directly into the Request Tab and export request setups as shareable JSON templates. AI features will use LLM-powered completions (possibly via an optional local/integrated model or OpenAI plugin) to suggest missing headers, descriptions, or parameter values.
|
||||
|
||||
Users can also tag and organize their saved templates, making this not just a tool for immediate use, but also a personal API library over time.
|
||||
|
||||
|
||||
### Weekly Timeline
|
||||
|
||||
**Community Bonding Period**
|
||||
- Interact with mentors, finalize the API Explorer UX and core scope.
|
||||
- Review existing API Dash codebase, especially how requests are stored/imported/exported.
|
||||
- Research supported import formats (OpenAPI 3.0+, Postman, cURL, etc.).
|
||||
- Set up environment for development and testing.
|
||||
|
||||
**Week 1: Core Architecture Setup**
|
||||
- Create skeleton UI for API Explorer tab/component.
|
||||
- Set up JSON template schema (compatible with OpenAPI/Postman).
|
||||
- Set up file upload mechanism and create file parser modules for OpenAPI and Postman.
|
||||
- Display parsed endpoints in a basic list view.
|
||||
|
||||
|
||||
**Week 2: Template Viewer and Import Integration**
|
||||
- Build full UI to list, browse, and preview parsed APIs.
|
||||
- Add “Import to Request Tab” functionality for pre-filled API calls.
|
||||
- Support filtering APIs by tags, domain, and authentication type.
|
||||
- Add local storage/database support for saving templates.
|
||||
|
||||
|
||||
**Week 3: User-defined Templates & Exporting**
|
||||
- Add feature to save a request as a template from the Request Tab.
|
||||
- Enable exporting these templates as JSON for backup or sharing.
|
||||
- UI for managing saved templates (edit, rename, delete, categorize).
|
||||
- Add visual indicators for required/optional fields in templates.
|
||||
|
||||
|
||||
**Week 4: Advanced Parsing + AI Enhancements Phase 1**
|
||||
- Add support for additional fields like examples, descriptions, and status codes.
|
||||
- Integrate a basic AI module to auto-fill missing descriptions (OpenAI/local LLM).
|
||||
- Parse authentication metadata from OpenAPI/Postman and show in UI.
|
||||
- Test edge cases of complex nested parameters.
|
||||
|
||||
|
||||
**Week 5: AI Enhancements Phase 2 + Bulk Import**
|
||||
- Add AI-assisted suggestions for filling headers, auth, or query values.
|
||||
- Enable uploading zip files with multiple specs for batch import.
|
||||
- Improve UI for better UX – tabs for Preview, Metadata, Raw JSON, etc.
|
||||
- Add light/dark mode compatibility and responsive design.
|
||||
|
||||
|
||||
**Week 6: Template Organization & Tagging System**
|
||||
- Add tagging and categorization system for user templates.
|
||||
- Add search and filter options in the API Explorer.
|
||||
- Implement pagination or lazy loading for large collections.
|
||||
- Performance optimizations.
|
||||
|
||||
|
||||
**Week 7: Testing, Validation, and Documentation**
|
||||
- Write unit/integration tests for parser modules and UI components.
|
||||
- Validate edge cases in OpenAPI/Postman import (complex nesting, arrays, etc.).
|
||||
- Write user documentation for API Explorer.
|
||||
- Create demo templates for popular APIs (e.g., OpenAI, Stripe, Twilio).
|
||||
|
||||
|
||||
**Week 8: Final Review & Polishing**
|
||||
- Bug fixing, refactoring, and code cleanup.
|
||||
- Final UX refinements based on mentor feedback.
|
||||
- Ensure the final PR is merge-ready.
|
||||
- Prepare GSoC final report and a recorded demo video.
|
Reference in New Issue
Block a user