stdlib-js / google-summer-of-code

Google Summer of Code resources.
https://github.com/stdlib-js/stdlib
23 stars 5 forks source link

[RFC]: Building a better Node.js REPL #55

Closed danishzulfiqar closed 2 months ago

danishzulfiqar commented 3 months ago

Full name

Danish Zulfiqar

University status

Yes

University name

Comsats Islamabad

University program

Electrical & Computer Engineering

Expected graduation

2025

Short biography

I am Danish Zulfiqar, a third year Engineering Undergrad from Comsats University, Islamabad. I have been working on different full stack projects in the past. I have a huge interest in your open source project Building a better Node.js REPL, under StdLib-Js.

Profile : Link

Timezone

Karachi time zone

Contact details

DanishZulfiqar100@gmail.com

Platform

Mac

Editor

VsCode, because it has a user friendly professional interface which I have been using for almost 3.5 years now.

Programming experience

I have been coding for almost 3.5 years now and have an experience in developing full stack projects. I have a good experience in develop[ing projects in Js and Python oriented frameworks.

You can view my profile here: Link

JavaScript experience

I started learn ing JS when I started web development about 3 years ago. I love the way it is diverse and is executable in browsers on JS web engine as well as on Server using NodeJs. Also for frontend development there are many frameworks like React and Angular that make dynamic rendering very easy. I am also able to test web applications using frameworks like NightWatchJs.

Node.js experience

An experience of almost 3 yeas. Started learning it when needed to learn backend development. Developed many projects using it and still very fond of it.

C/Fortran experience

I have a good experience in C language as my bachelors undergrad is in Electrical and Computer engineering and it is considered as primary language for us in coding MicroProcessors. Its base of embedded programming. I don't have a good experience and Fortran but I ma flexible in learning new technologies if needed.

Interest in stdlib

It's very useful for applications developed with Js and NodeJs because it helps to perform numerical computations just like in Matlab and python. I am interested in exploring its development procedures and contribute to it.

Version control

Yes

Contributions to stdlib

I haven't contributed to stdlib in the past but have contributed to other projects.

Goals

To enhance the Node.js REPL, I'll extend the module and implement auto-completion using a custom completer function. Fuzzy auto-completion will be added by modifying the completer to use a fuzzy matching algorithm. Additionally, a documentation pager and bracketed-paste feature will be integrated as new commands. Pretty printing of tabular output will be achieved by overriding the writer function, and terminal syntax highlighting and bracket matching will use a library like chalk. Custom key binding support will be added by mapping key combinations to actions. Finally, I'll include new commands to guide users through numerical computing workshops/tutorials.

Why this project?

I have worked upon several full stack projects in the past, I can be a good choice for this open source project. I am flexible in learning new technologies and enhancing my skill set according to team needs. More I know about this project, the more I can contribute to it.

Qualifications

I have following qualifications

Prior art

Commitment

I will dedicate 15 hrs for this project every week.

Schedule

Weeks 1-2: Planning Phase Activities:

Weeks 3-5: Development of Prototype Activities:

Weeks 6-7: Testing and Validation Activities:

Weeks 8-9: Documentation and User Guides Activities:

Weeks 10-12: Project Delivery Activities:

Related issues

Issue 1

Checklist

kgryte commented 3 months ago

@danishzulfiqar A few comments:

  1. You should explicitly list your contributions to stdlib. As mentioned in our resources (see https://github.com/stdlib-js/google-summer-of-code/blob/main/README.md#application-process), we have a patch requirement. Any applications which fail to fulfill this requirement will not be considered for acceptance.
  2. Your goals and schedule lack details, so it is difficult to determine how realistic your work plan is. I suggest providing more detail and grounding your plans based on a concrete understanding of the current @stdlib/repl codebase, as can be found in the main project repository. Furthermore, it is not clear from your proposal how you actually plan to accomplish any of the goals you mention. E.g., how are you going to implement syntax highlighting? what fuzzy auto-completion algorithms have you found that would be good candidates?
  3. Your goals are a copy-paste from the idea issue. I'd like to see a couple of your own suggestions for how we can make the REPL better.