Skip to content

Commit 4f73286

Browse files
committed
update title and add more details in weekly timeline
1 parent de1db14 commit 4f73286

File tree

1 file changed

+96
-37
lines changed

1 file changed

+96
-37
lines changed

doc/proposals/2025/gsoc/application_udhay_adithya_dashbot.md

Lines changed: 96 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
### 1. Have you worked on or contributed to a FOSS project before? Can you attach repo links or relevant PRs?
2424

25-
I haven't contributed to open-source projects before this, so API Dash marks my first practical experience with open-source contribution. So far, I have made a total of four PRs—two of which have been merged, while the other two are currently under review. Here are the relevant PRs:
25+
I haven't contributed to open-source projects before this, so API Dash marks my first practical experience with open-source contribution. So far, I have made a total of four PRs—three of which have been merged, while the other one is currently under review. Here are the relevant PRs:
2626

2727
([#698](https://github.com/foss42/apidash/pull/698)): docs(codegen): add detailed instructions for ureq
2828

@@ -81,7 +81,7 @@ Additionally, a **Security & Compliance Advisor** can enhance DashBot’s capabi
8181

8282
### **ABSTRACT:**
8383

84-
This proposal seeks to develop DashBot - the AI assistant for API Dash which supercharges developer productivity by helping developers automate tedious tasks, follow best practices, interact & obtain contextual suggestions, all via natural-language input. DashBot will be designed in a modular and extensible manner and provide the following list of features (suggestive, not exhaustive):
84+
This proposal seeks to develop DashBot - the AI assistant for API Dash which supercharges developer productivity by helping developers automate tedious tasks, follow best practices, interact & obtain contextual suggestions, all via natural-language input. DashBot will be designed in a modular and extensible manner and provide the following list of features:
8585

8686
- Explain responses & identify any discrepancy
8787
- Debug requests based on Status codes & Error messages
@@ -105,7 +105,7 @@ For core features like debugging API requests, generating documentation, and cre
105105

106106
API response visualizations will be built using the `fl_chart` library, which supports customizable line, bar, pie, scatter, and radar charts. This integration will allow users to interactively analyze API data and identify trends.
107107

108-
Benchmark evaluations for each LLM provider will be conducted. Here are the key metrics that will be considered for benchmarking different models,
108+
**Benchmark evaluations** for each LLM provider will be conducted. Here are the key metrics that will be considered for benchmarking different models,
109109

110110
- **Explain responses**
111111
- Discrepancy Detection Rate: Does the LLM correctly identify discrepancies?
@@ -137,16 +137,32 @@ Benchmark evaluations for each LLM provider will be conducted. Here are the key
137137
- Best Practice Adherence: Does it follow best practices?
138138
- Maintainability Score: Is the code clean and maintainable?
139139

140+
### **Implementing other essential features:**
140141

141-
Key dependencies are,
142+
Adding Support for various API Authentication Methods such as,
143+
- **Basic authentication:** Sending a verified username and password with API request
144+
- **API Auth:** Basic authentication [#610](https://github.com/foss42/apidash/issues/610)
145+
- **API key:** Sending a key-value pair to the API either in the request headers or query parameters Add API Auth: API key [#611](https://github.com/foss42/apidash/issues/611)
146+
- **Bearer token:** Authenticate using an access key, such as a JSON Web Token (JWT) Add API Auth: Bearer token [#612](https://github.com/foss42/apidash/issues/612)
147+
- **JWT Bearer:** Generate JWT bearer tokens to authorize requests Add API Auth: JWT Bearer [#613](https://github.com/foss42/apidash/issues/613)
148+
- **Digest Auth:** Client must send two requests. First request sent to the server receives a nonce value, which is then used to produce a one-time-use hash key to authenticate the request Add API Auth: Digest Auth [#614](https://github.com/foss42/apidash/issues/614)
149+
- **OAuth 1.0** Add API Auth: OAuth 1.0 [#615](https://github.com/foss42/apidash/issues/615)
150+
- **OAuth 2.0:** Implement OAuth 2.0 authentication [#481](https://github.com/foss42/apidash/issues/481)
151+
152+
Required dependencies,
142153

143154
- [anthropic_sdk_dart](https://pub.dev/packages/anthropic_sdk_dart)
144155
- [googleai_dart](https://pub.dev/packages/googleai_dart/versions)
145156
- [openai_dart](https://pub.dev/packages/openai_dart)
146157
- [ollama_dart](https://pub.dev/packages/ollama_dart)
147158
- [flutter_riverpod](https://pub.dev/packages/flutter_riverpod)
148159
- [fl_charts](https://pub.dev/packages/fl_chart)
149-
160+
- [riverpod_annotation](https://pub.dev/packages/riverpod_annotation)
161+
- [riverpod_lint](https://pub.dev/packages/riverpod_lint)
162+
- [riverpod_generator](https://pub.dev/packages/riverpod_generator)
163+
- [custom_lint](https://pub.dev/packages/custom_lint)
164+
- [oauth1](https://pub.dev/packages/oauth1)
165+
- [oauth2](https://pub.dev/packages/oauth2)
150166

151167
## **FOLDER STRUCTURE**
152168
```
@@ -158,7 +174,8 @@ lib/
158174
│ │ ├── viewmodel/ # Business logic for feature_1
159175
│ │ │ ├── feature_1_viewmodel.dart
160176
│ │ ├── view/ # UI layer for feature_1
161-
│ │ │ ├── feature_1_screen.dart
177+
│ │ │ ├── pages/ # Reusable widgets for this feature
178+
│ │ │ │ ├── feature_1_screen.dart
162179
│ │ │ ├── widgets/ # Reusable widgets for this feature
163180
```
164181

@@ -196,21 +213,30 @@ This milestone will lay the foundation of `DashBot`, building an interactive, dr
196213
Integrate support for multiple LLM providers with the option to switch between LLMs.
197214

198215
#### **Milestone #2: Core Feature Implementation**
199-
This milestone focuses on integrating three major features and is expected to be the most time-intensive phase of development.
216+
This milestone focuses on integrating the major features and is expected to be the most time-intensive phase of development.
200217

201218
- Implement error debugging based on status codes and error messages.
202-
- Develop a documentation generator supporting Markdown and HTML formats.
219+
- Documentation generator supporting Markdown and HTML formats.
203220
- Build a test generator to create unit and integration tests from API specifications.
204221
- Enhance LLM responses using Few-shot prompting and ReAct techniques.
222+
- API response visualizations (line, bar, pie, scatter, radar charts)
223+
- Generating API integration frontend code for frontend frameworks.
205224

206-
#### **Milestone #3: Visualization & UI/UX Development**
225+
#### **Milestone #3: Benchmarking & Optimization**
207226

208-
This Milestone is divided into two parts. The first part will aim at adding integrations for API response visualizations (line, bar, pie, scatter, radar charts).
209-
The second part will involve generating API integration frontend code for frontend frameworks.
227+
This milestone will involve running benchmark evaluations for all LLM providers by comparing the result of key metrics from each model mentioned in the [Detailed Description](#detailed-description) section.
210228

211-
#### **Milestone #4: Benchmarking & Optimization**
229+
#### **Milestone #4: API Authentication Methods**
212230

213-
This milestone will involve running benchmark evaluations for all LLM providers by comparing the result of key metrics from each model mentioned in the [Detailed Description](#detailed-description) section.
231+
This milestone will a new section in the home page of API Dash "Authorization" where users can perform various API Authentication Methods such as,
232+
- Basic authentication
233+
- API Auth
234+
- API key
235+
- Bearer token
236+
- JWT Bearer
237+
- Digest Auth
238+
- OAuth 1.0
239+
- OAuth 2.0.
214240

215241
## **[GSOC 2025 TIMELINE](https://developers.google.com/open-source/gsoc/timeline) FOR REFERENCE**
216242

@@ -245,65 +271,98 @@ their final mentor evaluation (standard coding period)
245271
* **Coding Period (June 2 - July 14)**
246272
* **Week 1 (June 2 - June 8)**
247273

248-
<u>M#1 is delivered, consisting of a function DashBot.</u>
249-
250-
Work on M#2 begins in the latter half of the week.
274+
- Build an interactive, draggable and responsive interface for DashBot.
275+
- Add support for Local and Remote LLM providers along with integrated support for switching between local and remote LLM providers.
276+
277+
**Deliverables:**
278+
A fully interactive, draggable, and responsive UI for DashBot, with support for switching between providers.
279+
251280

252281
* **Week 2 (June 9 - June 15)**
253282

254-
Start of M#2 Implement error debugging based on status codes and error messages.
283+
- Implement API Response explanation generation.
284+
- Implement error debugging based on status codes and error messages.
285+
286+
**Deliverables:**
287+
Dashbot capable of providing explanations for API Responses and debugging errors based on status code and error messages.
255288

256289
* **Week 3 (June 16 - June 22)**
257290

258-
Building upon the previous week, the integration for documentation generator and test generator to create unit and integration tests from API specifications is done.
291+
- Develop a documentation generator supporting Markdown and HTML formats.
292+
- Develop a Test generator to create unit and integration tests from API specifications is done.
293+
294+
**Deliverables:**
295+
Dashbot capable of generating documentation and tests from API Specifications.
296+
259297

260298
* **Week 4 (June 16 - June 22)**
261299

262-
Based on the implementation experience and testing feedback from the previous weeks, refinements will be made by enhancing LLM responses using Few-shot prompting and ReAct techniques to ensure robustness and efficiency.
300+
- Adding integration for API response visualization.
301+
- Adding integration for frontend code generation for frontend frameworks.
302+
303+
**Deliverables:**
304+
Dashbot capable of visualizing api responses and code generation for frontend frameworks.
263305

264306
* **Week 5 (June 23 - June 29)**
265307

266-
A significant portion of the week will be dedicated to testing all integrations thoroughly and addressing any bugs or issues identified.
267-
268-
This week will also contain several steps of documenting DashBot.
308+
- A significant portion of the week will be dedicated to testing all integrations thoroughly and addressing any bugs or issues identified.
309+
- Mentor Reviews are requested.
310+
311+
**Deliverables:**
312+
Ensure that Dashbot is capable of performing all action mentioned in the previous weeks and ready for running benchmarks.
269313

270-
Mentor Reviews are requested.
271314

272315
* **Week 6 (June 30 - July 6)**
273316

274-
Changes follow, from Mentor Review, if required.
275-
276-
Start of M#3 by adding integrations for API response visualizations.
277-
278-
Final Mentor Review before Mid-term Evaluation is submitted.
317+
- Changes follow, from Mentor Review, if required.
318+
- Setting up a benchmarking environment and evaluating LLMs for API Response Explanation and API Error Debugging.
319+
- Final Mentor Review before Mid-term Evaluation is submitted.
320+
321+
**Deliverables:**
322+
Benchmarking results of various LLMs for Response Explanation and API Error Debugging.
279323

280324
* **Midterm Evaluation Submission (July 14 - July 18)**
281325
* Projects are submitted to the mentors and the GSoC portal.
282326

283327
* **Work Period (July 14 - August 25)**
284328
* **Week 7 (July 14 - July 20)**
285329

286-
Continuation of the work done in Week 6.
330+
- Running benchmark evaluation for remaining features, Documentation generation, Test Generation, API Visualization and Frontend code generation for frontend frameworks.
331+
332+
**Deliverables:**
333+
Benchmarking results of different LLMs for Documentation generation, Test Generation, API Visualization and Frontend code generation for frontend frameworks.
287334

288335
* **Week 8 (July 21 - July 27)**
289336

290-
A significant portion of the week will be dedicated to testing all integrations thoroughly and addressing any bugs or issues identified.
291-
Documentation is enhanced in if no issues arise.
337+
- Extending support for Dashbot in Android/iOS devices.
338+
- Documentation and benchmarking evaluations are enhanced if time permits.
339+
- Finishing up Dashbot.
340+
341+
**Deliverables:**
342+
A fully functional Dashbot across all platforms.
292343

293344
* **Week 9 (July 28 - August 3)**
294345

295-
Running benchmark evaluations for all LLM providers.
346+
- Start developing basic API Authentication methods: Basic authentication, API Auth, API key.
347+
348+
**Deliverables:**
349+
Defined API authentication parameters and initial implementation of basic authentication methods.
296350

297351
* **Week 10 (August 4 - August 10)**
298352

299-
Continuation of the work done in Week 9.
300-
Mentor Reviews are requested.
353+
- Implement API Authentication methods: Bearer token, JWT Bearer.
354+
- Develop a mechanism to allow switching authentication parameters between the request header and body.
355+
- Mentor Reviews are requested.
356+
357+
**Deliverables:**
358+
Fully implemented Bearer Token and JWT Bearer authentication, along with a configurable authentication parameter placement (header/body).
301359

302360
* **Week 11 (August 11 - August 17)**
303361

304-
The former half of the week acts as a buffer period in case any issues are confronted.
305-
Documentation and benchmarking evaluations are enhanced in the buffer period if no issues arise.
306-
<u>Milestone #4 is delivered.</u>
362+
- Implement test cases for different authentication methods, including Basic Auth, API Key, Bearer Token, and JWT.
363+
364+
**Deliverables:**
365+
Comprehensive test cases covering unit, integration, functional, and end-to-end authentication scenarios.
307366

308367
* **Week 12 (August 18 - August 24)**
309368

0 commit comments

Comments
 (0)