Skip to content

GSoC-proposal application_saisreesatya_DashBot #752

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 6 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 145 additions & 0 deletions doc/gsoc/2025/application_saisreesatya_DashBot.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@


### About

1. **Full Name:** PADALA SAISRISATYA SUBRAMANESWAR
2. **Contact Info:**
- Email: [[email protected]](mailto:[email protected])
- Phone: 7842446454
3. **Discord Handle:** pssss7656
4. **Home Page:** [saisreesatya-blog.pages.dev](https://saisreesatya-blog.pages.dev/)
5. **Blog:** [saisreesatya-blog.pages.dev](https://saisreesatya-blog.pages.dev/)
6. **GitHub Profile:** [github.com/saisreesatyassss](https://github.com/saisreesatyassss)
7. **Socials:**
- Portfolio: [http://saisreesatya.xyz/](http://saisreesatya.xyz/)
- LinkedIn: [linkedin.com/in/saisreesatyassss](https://www.linkedin.com/in/saisreesatyassss)
- Twitter: [x.com/saisreesatya000](https://x.com/saisreesatya000)


8. **Time Zone:** India Standard Time (IST)
9. **Resume:** [CV (PDF)](https://saisreesatyassss.github.io/CV/cv.pdf)

### University Info

1. **University Name:** VIT AP
2. **Program:** CSE - AIML
3. **Year of Joining:** 2021
4. **Expected Graduation:** 2025


---

### **Motivation & Past Experience**

1. **Have you worked on or contributed to a FOSS project before?**
Yes, I have contributed to various open-source projects, including API Dash. You can check out my PR here: [PR #727](https://github.com/foss42/apidash/pull/727).
In this pull request, I have detailed all the work I have done, along with videos. Please check it out!

2. **What is one project/achievement you are most proud of? Why?**
I have worked with multiple startups and started my first job in my second year as a Flutter developer. Over time, I learned backend and frontend development and built more than 20 web apps and some AI models.
One project that I am really proud of is **Mukham App**, which my team and I built. It completely changed how the attendance system worked in our college for teachers. We used geo-fencing and facial recognition, which helped streamline attendance tracking across the entire college.

3. **What kind of problems or challenges motivate you the most to solve them?**
I love solving complex backend and UI/UX challenges, especially those involving API integrations, data visualization, and automation.
More than that, I like working on innovative challenges—things that no one has ever tried before. If I get an idea, I just want to build it and see where it goes!

4. **Will you be working on GSoC full-time?**
Yes, I will be working on GSoC full-time. I am currently in my 4th year, and I don’t have any classes or exams going on, so I am completely free to dedicate my time to this project.

5. **Do you mind regularly syncing up with the project mentors?**
No, I am totally fine with regular sync-ups and discussions. It’s actually something I prefer because it helps in making sure everything is on track and moving in the right direction.

6. **What interests you the most about API Dash?**
API Dash makes working with APIs really smooth and efficient. The way it helps in testing and documenting APIs is super useful for developers.
But the main reason I got interested in API Dash was when I first started looking at GSoC projects. I checked out more than 25 organizations, joined their chats, and looked at their Slack groups. Out of all of them, API Dash stood out the most because the community was **active, helpful, and really engaging**—even when students had small doubts. That kind of support is what I liked the most!

7. **Can you mention some areas where the project can be improved?**
- **Better UI/UX for API visualizations.**
- **More integrations** with third-party services.
- **Refining API documentation generation** (which I have already worked on in my PR).
- **Keeping an eye on competitors** like Postman and others—seeing what new features they release and thinking about what we can build and release faster for users.

---


### **Project Proposal Information**

1. **Proposal Title:** DashBot – The AI Assistant for API Dash

2. **Abstract:**
API development involves a lot of repetitive tasks—debugging requests, understanding responses, writing documentation, and visualizing data. Developers often spend hours on these, which could be automated.
**DashBot** aims to solve this by introducing an **AI-powered assistant** inside API Dash that will **help developers automate tedious tasks, follow best practices, and interact with APIs using natural language.**
The goal is to make API workflows **faster, smarter, and more intuitive**, saving developers time and effort.

3. **Detailed Description:**
This project will focus on building **DashBot** as a **modular and extensible AI assistant** that seamlessly integrates with API Dash. The main objectives include:

- **Explaining API Responses & Debugging Errors**
DashBot will analyze API responses, detect issues based on status codes & error messages, and provide actionable insights to fix them.

- **Generating API Documentation Automatically**
Developers will be able to generate structured and well-formatted API documentation based on request and response data. This will help in keeping docs up-to-date effortlessly.

- **Visualizing API Responses with Customizable Charts**
DashBot will generate **interactive plots** and **customizable visualizations** to help developers make sense of API data quickly.

- **Understanding APIs & Generating Test Cases**
Instead of manually writing test cases, DashBot will **analyze API responses** and auto-generate test cases to validate API functionality.

- **Improving the API Request Experience**
Users will get **auto-suggestions** for API parameters, headers, and request structures to improve efficiency and reduce errors.

- **Keeping It Fast & Efficient**
The implementation will focus on keeping DashBot **lightweight, responsive, and easy to use** within API Dash without slowing anything down.

---


### Features Implemented

#### **1. Multi-Model Selection (Google Maps & Snowflake)**
- Added support for selecting multiple models like Google Maps and Snowflake within API Dash.
- Enables seamless integration and switching between different models for enhanced flexibility.
- Screenshot:
![Multi-Model Selection Screenshot](https://raw.githubusercontent.com/saisreesatyassss/ai_endpoint/refs/heads/main/dash2.jpg)

- Video Demonstration: [Multi-Model Selection Demo](#) *(https://drive.google.com/file/d/1vJcrqLwmMukxqWaaDPXI4WUGF7iBQB2q/view?usp=sharing)*

#### **2. Debug Requests Based on Status Codes & Error Messages**
- Introduced an intelligent debugging system that analyzes API responses.
- Provides insights into errors by categorizing them based on status codes and error messages.
- Enhances developer productivity by offering suggestions for quick issue resolution.
- Screenshot:
![Debugging Feature Screenshot](https://raw.githubusercontent.com/saisreesatyassss/ai_endpoint/refs/heads/main/dash1.jpg)


#### **3. Generate API Documentation**
- Added functionality to auto-generate API documentation based on request and response structures.
- Formats and presents the API details in an easy-to-read manner.
- Screenshot:
![API Documentation Screenshot](https://raw.githubusercontent.com/saisreesatyassss/ai_endpoint/refs/heads/main/dash3.jpg)
- Video Demonstration: [API Documentation Generation](#) *(https://drive.google.com/file/d/106bYvU0aeMzEE4dj3UGWvX1mDcwrF6I2/view?usp=sharing)*

#### **4. Generate Plots & Visualizations for API Responses**
- Enables users to visualize API response data through customizable charts and plots.
- Supports customization options for better data representation.
- Screenshot:
![Visualization Screenshot](https://raw.githubusercontent.com/saisreesatyassss/ai_endpoint/refs/heads/main/dash4.jpg)
- Video Demonstration: [API Visualization Demo](#) *(https://drive.google.com/file/d/1eZdwxFqo6sB4IY8ZhrdFAK5PDHLNf4pR/view?usp=sharing)*

---

### **Weekly Timeline**

- **Week 1:** Research and finalize improvements for API visualization and debugging.
- **Week 2:** Set up project structure and integrate AI-powered response analysis.
- **Week 3:** Implement debugging features based on status codes and error messages.
- **Week 4:** Develop auto-generation of API documentation.
- **Week 5:** Improve customization options for API requests and response formatting.
- **Week 6:** Implement interactive visualizations for API responses.
- **Week 7:** Optimize performance and ensure smooth integration of DashBot features.
- **Week 8:** Conduct testing across different devices and environments.
- **Week 9:** Finalize UI/UX improvements and fix any remaining issues.
- **Week 10:** Complete documentation, final review with mentors, and submit the project.

-Note: This is a tentative timeline based on my initial thoughts. The plan may evolve based on discussions with mentors and project requirements.
3 changes: 2 additions & 1 deletion lib/dashbot/features/debug.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ class DebugFeature {
Future<String> debugApi({
required RequestModel? requestModel,
required dynamic responseModel,
required String selectedAI,
}) async {
if (requestModel == null || responseModel == null) {
return "No recent API requests found.";
Expand Down Expand Up @@ -58,6 +59,6 @@ $responseBody
Provide a CLEAR, ACTIONABLE solution in the SIMPLEST possible language.
""";

return _service.generateResponse(prompt);
return _service.generateResponse(prompt,selectedAI);
}
}
5 changes: 4 additions & 1 deletion lib/dashbot/features/explain.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// ignore_for_file: unused_local_variable

import 'dart:convert';
import '../services/dashbot_service.dart';
import 'package:apidash/models/request_model.dart';
Expand All @@ -10,6 +12,7 @@ class ExplainFeature {
Future<String> explainLatestApi({
required RequestModel? requestModel,
required dynamic responseModel,
required String selectedAI,
}) async {
if (requestModel == null || responseModel == null) {
return "No recent API requests found.";
Expand Down Expand Up @@ -63,6 +66,6 @@ AVOID:
Deliver a CRYSTAL CLEAR, CONCISE explanation that anyone can understand.
''';

return _service.generateResponse(prompt);
return _service.generateResponse(prompt, selectedAI);
}
}
Loading