mirror of
https://github.com/foss42/apidash.git
synced 2025-12-03 19:39:25 +08:00
Update application_nikhil_apiauth_and_features.md
This commit is contained in:
@@ -3,22 +3,39 @@
|
||||
## About Me
|
||||
|
||||
**Full Name:** Nikhil Ludder
|
||||
**Contact Info:**
|
||||
- **Email:** nikhilljatt@gmail.com
|
||||
- **Phone:** +91 8708200907
|
||||
- **Discord Handle:** @badnikhil
|
||||
- **GitHub:** [badnikhil](https://github.com/badnikhil)
|
||||
- **Instagram:** [bad.nikhill](https://www.instagram.com/bad.nikhill/)
|
||||
**Contact Info:**
|
||||
|
||||
- **Email:** [nikhilljatt@gmail.com](mailto:nikhilljatt@gmail.com)
|
||||
- **Discord Handle:** @badnikhil
|
||||
- **GitHub:** [badnikhil](https://github.com/badnikhil)
|
||||
- **LINKEDIN:** [NIKHIL LUDDER](www.linkedin.com/in/nikhil-ludder-ba631216b)
|
||||
- **Time Zone:** UTC+5:30 (IST)
|
||||
|
||||
---
|
||||
|
||||
## Skills
|
||||
|
||||
- **Flutter & Dart Development:** Advanced knowledge in Flutter app development, with a strong focus on API clients, network communication, and performance optimizations.
|
||||
- **API Development & Integration:** Deep experience working with REST APIs, GraphQL, WebSockets, authentication methods (OAuth, JWT, API keys), and network protocols.
|
||||
- **Programming Languages:** Currently Proficient in C++, Dart, and x86 Assembly but adaptable to any(worked with 15+ languages) with a strong grasp of low-level computing concepts.
|
||||
- **Frameworks & Libraries:** Expertise in networking libraries, authentication strategies, and API testing tools.
|
||||
- **Low-Level System Knowledge:** Understanding of computer architecture, memory management, operating systems, and system performance optimizations.
|
||||
- **Problem-Solving & Competitive Coding:** Rated 5-star @CodeChef and 1600+ on LeetCode, with a solid grasp of algorithms and data structures.
|
||||
- **Collaboration & Open Source Contributions:** Actively contributing to APIDash, with multiple PRs :
|
||||
- [PR 1](https://github.com/foss42/apidash/pull/693)
|
||||
- [PR 2 (WORKING ON IT)](https://github.com/foss42/apidash/pull/681)
|
||||
- [PR 3](https://github.com/foss42/apidash/pull/670)
|
||||
- [PR 4](https://github.com/foss42/apidash/pull/654)
|
||||
- [PR 5](https://github.com/foss42/apidash/pull/649)
|
||||
|
||||
---
|
||||
|
||||
## University Information
|
||||
|
||||
- **University:** Indian Institute of Technology (IIT) Madras
|
||||
- **Program:** BS in Data Science
|
||||
- **Year:** 2024
|
||||
- **Expected Graduation Date:** 2028
|
||||
- **Expected Graduation Date:** 2028
|
||||
|
||||
---
|
||||
|
||||
@@ -27,86 +44,53 @@
|
||||
- **University:** KIET Group of Institutions, Ghaziabad
|
||||
- **Program:** B.Tech in Computer Science with AI/ML
|
||||
- **Year:** 2024
|
||||
- **Expected Graduation Date:** 2028
|
||||
- **Expected Graduation Date:** 2028
|
||||
|
||||
---
|
||||
|
||||
## Motivation & Experience
|
||||
|
||||
**Have you worked on or contributed to a FOSS project before?**
|
||||
Yes, I’ve been actively contributing to APIDash! I’ve opened 3 pull requests (PRs) and raised 3 issues so far, and I’m currently working on 3 additional PRs. This is my first experience contributing to FOSS, and I’ve gained a solid understanding of the codebase, especially in preparing for tasks like enhancing authentication support and improving GraphQL features. You can check my work on GitHub: [badnikhil](https://github.com/badnikhil).
|
||||
**FOSS Contributions:**
|
||||
I’ve been actively contributing to APIDash, submitting multiple PRs and raising issues. I have studied the codebase in depth and will begin implementation immediately after the initial discussions with mentors.
|
||||
|
||||
**What’s your proudest achievement or project?**
|
||||
One of my proudest moments was leading a team during a college hackathon to build an API client. It was a time-crunch situation, and we had to deliver a functional tool under tight deadlines. This experience taught me a lot about problem-solving, teamwork, and how to implement APIs effectively. It really sparked my passion for creating developer tools, much like APIDash.
|
||||
**Proudest Achievement:**
|
||||
Leading a college hackathon team to build an API client under a strict deadline. This experience strengthened my problem-solving skills and ability to work efficiently under pressure.
|
||||
|
||||
**What kind of problems motivate you the most?**
|
||||
I get excited about challenges that take complex technology and turn it into something accessible and easy to use. I love working on tools that streamline workflows for developers, like improving APIDash’s authentication methods or enhancing its GraphQL capabilities. Solving these problems not only makes life easier for other developers, but it also pushes me to stay sharp and keep learning new technologies like Flutter and Dart.
|
||||
**Interest in APIDash:**
|
||||
I love how APIDash is fully built in Flutter, and I see a lot of potential in enhancing its authentication support and code generation features.
|
||||
|
||||
**Will you be working on GSoC full-time?**
|
||||
Yes, I’ll be working on GSoC full-time. My college vacation overlaps perfectly with the GSoC timeline, and I have support from my institution for such opportunities(leave will be provided if needed), so I can dedicate most of my time to tackle tasks efficiently. Coding is my only hobby, and I’m excited to immerse myself fully in this project.
|
||||
|
||||
**Do you mind syncing up with mentors regularly?**
|
||||
Absolutely! I believe regular sync-ups are essential to keep things on track. I’m excited to share my progress, discuss challenges, and refine my approach with mentor feedback to ensure the project stays on course.
|
||||
|
||||
**What interests you the most about APIDash?**
|
||||
I’m fascinated by how APIDash is built entirely in Flutter, which is a framework I’m passionate about. Its potential to become a go-to API client for developers really excites me. The ability to enhance its authentication support and improve GraphQL features aligns perfectly with my interests, and I’m eager to contribute to its growth.
|
||||
|
||||
**What areas of the project could be improved?**
|
||||
- **Authentication Support:** I’m eager to add more authentication methods like Basic Auth, OAuth 2.0, JWT Bearer, and Digest Auth. This would make APIDash a powerful tool for testing secure APIs. It’s something I’m passionate about, and I’d love to keep exploring ways to improve authentication in the future.
|
||||
- **GraphQL Enhancements:** I want to make the GraphQL editor more feature-rich, with support for query beautification, schema inspection, and variables, fragments, mutations, and subscriptions. I see a lot of potential in this area and would love to push it forward, making APIDash a top choice for GraphQL developers.
|
||||
**Time Commitment:**
|
||||
I will be working on GSoC full-time, dedicating 7+ hours per day, especially in the early stages, to ensure smooth progress.
|
||||
|
||||
---
|
||||
|
||||
## Project Proposal
|
||||
|
||||
**Title:** Feature Improvements and Adding Authentication Support in APIDash
|
||||
### **Title:** Enhancing Authentication Support & Code Generation in APIDash
|
||||
|
||||
**Abstract:**
|
||||
This project aims to improve APIDash by adding support for multiple API authentication methods and enhancing its GraphQL features. Specifically, I’ll focus on adding authentication methods like Basic Auth, OAuth 2.0, JWT Bearer, Digest Auth, and others. Additionally, I’ll work on enhancing the GraphQL editor to support query beautification, schema inspection, and variables, fragments, mutations, and subscriptions. I'll also add more widget and integration tests to ensure reliability and quality. With my prior experience in the codebase, I’ll begin implementation after initial discussions with mentors and devote 7+ hours a day in the early stages to make efficient progress.
|
||||
|
||||
---
|
||||
|
||||
## Detailed Description
|
||||
|
||||
The project focuses on three main areas:
|
||||
|
||||
1. **API Authentication Methods:**
|
||||
- **Basic Authentication:** Implement username/password encoding in requests.
|
||||
- **API Key:** Add key-value pair support in headers/query parameters.
|
||||
- **Bearer Token:** Enable access key (e.g., JWT) authentication.
|
||||
- **JWT Bearer:** Implement token generation and management.
|
||||
- **Digest Auth:** Handle nonce-based hash key authentication.
|
||||
- **OAuth 1.0 & OAuth 2.0:** Integrate OAuth flows with token management.
|
||||
|
||||
2. **GraphQL Enhancements:**
|
||||
- Improve the GraphQL editor with features like query beautification and expand/collapse options.
|
||||
- Add schema inspection capabilities.
|
||||
- Support GraphQL variables, fragments, mutations, and subscriptions.
|
||||
|
||||
3. **Testing & Quality:**
|
||||
- Increase code coverage with additional widget and integration tests to ensure stability and reliability.
|
||||
### **Abstract:**
|
||||
This project aims to expand APIDash by implementing multiple authentication methods (Basic Auth, OAuth 2.0, JWT, Digest Auth, API Keys) and improving its code generation capabilities. With prior experience in the codebase, I have already mapped out the necessary changes and will begin work right after mentor discussions.
|
||||
|
||||
---
|
||||
|
||||
## Weekly Timeline
|
||||
|
||||
The project spans 12 weeks, starting in late May 2025. I plan to dedicate around 50+ hours per week in the beginning to efficiently tackle tasks, with flexibility as needed:
|
||||
|
||||
- **Week 1:** Discuss with mentors, finalize setup, and outline the implementation plan.
|
||||
- **Week 2:** Implement Basic Authentication and API Key; submit PRs for review.
|
||||
- **Week 3:** Add Bearer Token and JWT Bearer; continue refining and submitting PRs.
|
||||
- **Week 4:** Implement Digest Auth; refine based on mentor feedback.
|
||||
- **Week 5:** Add OAuth 1.0 and OAuth 2.0; review progress with mentors.
|
||||
- **Week 6:** Enhance GraphQL editor; start working on beautify and expand/collapse features.
|
||||
- **Week 7:** Add schema inspection, variables/fragments support.
|
||||
- **Week 8:** Implement GraphQL mutations and subscriptions; write widget tests.
|
||||
- **Week 9:** Increase code coverage with integration tests; refine based on feedback.
|
||||
- **Week 10:** Finalize features and conduct additional testing.
|
||||
- **Week 11:** Polish documentation and address remaining feedback.
|
||||
- **Week 12:** Buffer week for delays; submit final deliverables and complete any remaining tasks.
|
||||
| Week | Task |
|
||||
|------|------|
|
||||
| **Week 1** | Finalize implementation plan, initial setup, mentor discussions |
|
||||
| **Week 2** | Implement Basic Authentication, API Key authentication |
|
||||
| **Week 3** | Add Bearer Token & JWT authentication |
|
||||
| **Week 4** | Implement Digest Authentication |
|
||||
| **Week 5** | OAuth 1.0 & OAuth 2.0 implementation |
|
||||
| **Week 6-7** | Expand code generation support to new languages |
|
||||
| **Week 8** | Refine code generation templates & improve output quality |
|
||||
| **Week 9** | Increase test coverage, add integration tests |
|
||||
| **Week 10** | Finalize features, conduct additional testing |
|
||||
| **Week 11** | Documentation, bug fixes, and final refinements |
|
||||
| **Week 12** | Submit final deliverables, address mentor feedback |
|
||||
|
||||
---
|
||||
|
||||
## Final Thoughts
|
||||
|
||||
I’m excited about the opportunity to contribute to APIDash and bring my skills in Flutter, Dart, and API development to enhance the project. I’m committed to delivering high-quality code, regular updates, and collaborating closely with mentors to ensure that the project is successful.
|
||||
I am fully committed to delivering high-quality contributions to APIDash, leveraging my expertise in Flutter, API development, and low-level systems understanding. I will actively collaborate with mentors and ensure the successful implementation of these improvements.
|
||||
|
||||
Reference in New Issue
Block a user