[RFC]: developer dashboard for tracking ecosystem build failures #139
Labels
2025
2025 GSoC proposal.
received feedback
A proposal which has received feedback.
rfc
Project proposal.
Full name
Jaison Dsouza
University status
Yes
University name
St Joseph Engineering College
University program
Bachelor of Engineering in Computer Science
Expected graduation
2026
Short biography
I am a 3rd Year CSE Engineering student from India. I started my coding journey with NodeJS for backend development in my freshman year through my friends' encouragement. I am a self taught developer and an enthusiastic individual. The thing I like to do most is problem solving and building applications around it. I have been working a lot on college projects and an innovation club. Won some competitions for innovation and regional hackathons. My general interest currently is GenAI.
Timezone
IST(India)
Contact details
email:[email protected],github:jsndz
Platform
Mac
Editor
VS code because VS code is easy to use and comes with lot of extensions that are really useful
Programming experience
I started learning programming when i was in freshmen year with Backend development with nodejs. Explored a lot of Backend concept and spent a year around it. The i started learning Frontend development with reactjs. Then developed some frontend applications. I was good at backend and could work around with frontend. With this i also built some projects for college events. Now i am learning GenAI.
Notable Projects:
Dashboard for College Event
Built a dashboard to manage a product-based competition and sales tracking.
Features included a live leaderboard using long polling and real-time management of products sold by participants.
WebSocket Chat Application
A real-time chat app supporting chat rooms and socket-based communication.
https://github.com/jsndz/mayaverse
E-commerce Website
Full-stack E-commerce platform developed using the MERN stack (MongoDB, Express, React, Node.js).
https://github.com/jsndz/Noatric
Vercel Clone
A simplified clone of the Vercel deployment platform.
https://github.com/jsndz/ercel
SQLite Clone
A basic clone of SQLite to understand database internals and how query execution works.
https://github.com/jsndz/dbaCe
JavaScript experience
Javascript is first programming language I learned properly. It was a very easy language to learn and implement. My favorite feature of Javascript is its ability to run anything on the browser. You can make anything on the browser from games to apps. The least favorite feature will be Promise because i don't really like its writing style I always prefer async await.
Node.js experience
i started Backend development with nodejs. And I am using this till this day. I built almost all my application in NodeJS.
C/Fortran experience
I had C in my first year college curriculum and C taught a lot basic programming skills to me. It is one of my favorite programming language. For any low level development i always prefer C. I even built a SQLite clone with C.
Interest in stdlib
I first came to know about stdlib from a senior who was developing a Math based application. And I looked into that time but I was not skilled enough to contribute to it that time. I really love how many functionalities are available in stdlib.
Version control
Yes
Contributions to stdlib
merged stdlib-js/stdlib#5955
open stdlib-js/stdlib#6328
open stdlib-js/stdlib#6067
stdlib showcase
A Node.js application that demonstrates the usage of the @stdlib/stdlib package for statistical analysis of retail store data.
https://github.com/jsndz/stdlib-showcase
Goals
Abstract
The idea is to build a developer dashboard that will track the stdlib ecosystem. Since the database already exists, the goal is to implement a backend and frontend application that can show a real-time interface. Since the database needs to be less loaded, we will go with static snapshots which will be stored in JSON format. Subsequent rollups will be applied.
Basic Features
Implementation
1. Backend for Handling Database Queries
Tech Stack
These are the basic endpoints that will be provided by the server
Cron Job for Generating Snapshots
Rollups will be done in the backend so that the frontend does not have to do the aggregate.
The important Rollups that I can think of are:
2. Frontend Dashboard Interface
Tech Stack:
Frontend will provide three views:
Here is the Figma wireframe:
https://www.figma.com/design/BAi2bJqo1vT2oZciUaGtW5/gsoc?node-id=0-1&t=jytcAuJezuGFBHb5-1
This is my first time using Figma so there might be inconsistency
3. Quick Navigation
Navigation Approaches:
Frontend Search
The searching functionality will be fully done on the browser. Can use libraries like minisearch for this.
Backend Search
Backend search involves indexing the snapshot which is a better method considering the size of the database. This is done by creating a precomputed index file alongside the snapshot.
Hybrid Approach
Hybrid approach uses both of these. And I am not very sure about it because this might be considered as an overkill.
The specific usage may need to be discussed with the mentor.
The approach I am suggesting will be indexing the database.
4. Filtering
The filter implementation is given here:
How filtering will be done:
For filtering we are going with doing the filtering in the backend.
Since the database is large and the size will increase, the best approach would be filtering on the backend.
The frontend will send filters with pagination setup. The backend will handle filtering and will send the required data.
Example API call:
5. Data Analysis for Historical Overviews and Drill-Down Metrics
Stages:
Data Querying & Aggregation
The ones that I can think of are:
Visualization
Some visualization metrics that researched are given here:
repository_id
,conclusion
fromworkflow_run
status
,conclusion
fromworkflow_run
repository_id
,count
fromnpm_download_count
repository_id
,created_at
,updated_at
fromworkflow_run
Drill-Down Metrics
Drill down metrics can be implemented for failure in the repository
Drill-down options are:
Why this project?
Participating in Gsoc is a dream come true. This project aligns with my tech stack and experience. And the project needs a lot of optimizations for the backend which I am really excited about.
Qualifications
I have lot of experience building many NodeJS application and features in multiple projects i did overlap with the the requested features in this project.
Some projects that i build are:
Dashboard for College event:
Built a dashboard for product competition and sales management
The product had live leaderboard which was built on long polling and had to manage various products that people were selling
Chat application on Websocket:
A chat application that was built to handle room chat.
https://github.com/jsndz/mayaverse
Ecommerce website that has Pagination and filtering:
https://github.com/jsndz/Noatric
Prior art
NPM statusboard has a similar dashboard they built it using NodeJs
AWS Repository Status Monitor shows metrics for GitHub and Docker repositories and backend is primarily python, and the data is stored and displayed using AWS cloud services.
Netdata uses lightweight agents to collect real-time system metrics and backend is primarily in C and Go.
Commitment
I will be available throughout the gsoc period
In the coding period i will commit to work for 6 hours daily for the project
but during the period of 5th June to 10th June my coding time will decrease
I have no other commitments and will work full time on the GSOC project
Schedule
Assuming a 12 week schedule,
/
,/api/dashboard
)./api/dashboard?page=1&status=failed
./api/metrics
and/api/metrics/:id
.minisearch
for frontend, index snapshot for backend.Related issues
No response
Checklist
[RFC]:
and succinctly describes your proposal.The text was updated successfully, but these errors were encountered: