stdlib-js / google-summer-of-code

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

[RFC]: build and improve a developer dashboard for tracking repository build status #74

Closed ptl-harsh closed 2 months ago

ptl-harsh commented 3 months ago

Full name

Harsh Vardhan Patel

University status

Yes

University name

National Institute of Technology, Patna

University program

Computer Science and Engineering

Expected graduation

May 2026

Short biography

Hello

My name is Harsh Vardhan Patel, currently enrolled as a second-year student Pursuing Bachelor of Technology in the Computer Science and Engineering Department at NIT Patna.

I am currently the member of Google Developers student club, NIT Patna where we done different projects related to Web Dev, Machine Learning, Blockchain

If we talk about my past experience I was part of many development projects in clubs and hackathons.

Skills

I am committed to continuous improvement and actively pursuing opportunities to enhancemy abilities

Timezone

Asia/Kolkata - IST UTC+5:30

Contact details

harshp.ug22.cs@nitp.ac.in

Platform

Windows

Editor

Programming experience

Homepage of a website

JavaScript with React Framework

Video-Chat-App

Javascript , we use agora SDK instead of WebRTC

Student_Council_NITP website for Hackathon

HTML, CSS, JavaScript, ReactJs

AI NFT Minting website - club project

Solidity, NEXTjs, Hugging Face, Pinata IPFS

Chat application

Node.js Express.js, Socket.io

JavaScript experience

Homepage of a website

JavaScript with React Framework

Apart from that I had working on numerios small project of javascript like React weather app, countdowntimes, form authertication, Tic Tac Toe game in javascript

Node.js experience

Chat application

Node.js Express.js, Socket.io

Family Travel Tracker

C/Fortran experience

I had learned C language duing my first year. Mainly I had used it in Data Structure and Algorithm

Some example code.

Interest in stdlib

I have good foundation in various tools and technologies relevant to your project, I am eager to leverage my skills to make meaningful contributions.

Explored your project's GitHub repository, I have identified it as an ideal fit for my interests and capabilities. I had previous experiences in hackathons and various tech-related projects.

So, I am eagerly looking forward to the opportunity of contributing to your organization and making a positive impact.

Version control

Yes

Contributions to stdlib

Merged - NA till now
try considering if possible

Goals

The goal of this idea is to build a developer dashboard to display in real-time standalone repository build failures. Since we currently have the backend database which collects build results in real-time; however, we have yet to build a frontend for viewing and analyzing such data.

Tech Stack

We can go with T3 Stack (TypeScript, Next.js, tRPC, Tailwind.css and Prisma)

Dashboard sketch example

This is a basic representation which includes :

Header: Name of the dashboard.
Table: Showing repository information such as name, build status, number of open pull requests, number of open issues, latest commit, and more.
Pagination: Allowing users to navigate through multiple pages of repository data.
Search Bar and Filters: Providing functionality to search for repositories and apply filters based on build status, priority, etc.

dashboard sketch

Why this project?

The projects prerequisite knowledge include JavaScript, Node.js, CSS, HTML, JSX , which aligns in my domain of knowledge. I have good foundation in various tools and technologies relevant to the project.

I am highly impressed by high performance, rigorous, and robust mathematical and statistical functions and data visualization techniques used in this project.

Qualifications

I had completed approx. 90% course titleed "The Complete 2023 Web Development Bootcamp" from Udemy

For Staticstics and probability I reffered HK Dass Book By S.Chand Publication during my first year

Some of the certificates links which shows dedication and commitments in my work :

Machine Learning Specialisation

Introduction to Generative AI

Space Science and Technology Awareness Training (START)

ByteVerse Hackathon 2023

Prior art

This project has been earlier accomplished through npm statusboard, serving as a public monitor for npm CLI team projects. https://github.com/npm/statusboard

Commitment

I would be able to devote approx 50 hours to GSOC every week. From 6th May to 17th May I will have my end-semester examinations, and time devoted would be around 1 hour per day for that time. I have no obligations after May 17 and will be devoting all my time to GSOC.

Schedule

Engage with project community and discuss project details.
Refine project plan and discuss execution steps with mentors.

Dive deeper into project requirements and specifications.
Start drafting initial backend architecture and database schema.

Continue backend development: implement basic API routes and database models.
Begin frontend setup: scaffold project structure and configure build tools.

Implement CRUD handlers and middleware for error handling.
Begin designing initial UI components and layouts for frontend.

Focus on frontend development: implement basic UI components using TailwindCSS.
Establish communication between frontend and backend using API endpoints.
Test frontend-backend interaction and debug any integration issues.

Enhance frontend UI/UX: integrate animations and responsivenes.
Implement additional frontend features such as navigation bars and footers.
Conduct initial testing of frontend components for usability and performance.

Review progress with mentors and gather feedback on implemented features.
Optimize backend performance Continue frontend development: refine UI components based on feedback.

Focus on backend scalability: optimize database queries and server configurations.
Implement advanced frontend features such as real-time data updates using web sockets.
Conduct user testing sessions to gather feedback on UI/UX improvements.

Implement additional features requested by mentors or identified during testing.
Conduct comprehensive testing of both backend and frontend components.
Document APIs, UI components, and project architecture for future reference.

Address any remaining bugs or issues reported during testing.
Refactor codebase for better maintainability and scalability.
Finalize project documentation and prepare for deployment.

Deploy project for final testing and review.
Gather feedback incorporate any last-minute changes if needed.

Conduct final round of testing to ensure stability and performance.
Prepare for project submission
Prepare for questions during evaluation.

Perform final review of project deliverables and ensure all requirements are met.
Submitting project for evaluation.

Celebrate completion of the project and acknowledge contributions from mentors.

Related issues

4

Checklist

Planeshifter commented 3 months ago

Hi @ptl-harsh, thanks for your proposal! As a general comment, while you show a wide range of skills and experiences and include links to demo projects, both of which is positive, it would be good to tie these things together more. For example, aside from the used technologies, you could highlight for your sample projects which skills came in handy and what challenges had to be overcome.

The proposal itself would benefit from adding more specific details about the technical implementation of the project and the features you plan to implement. It's an advantage to demonstrate that you have done prior research and understand the project you desire to take on.

It would also be good to add contingency plans to the timeline for potential delays and discuss what risks there may be.

steff456 commented 3 months ago

Hi @ptl-harsh, thanks for sharing your proposal!

I have a couple of questions to further guide you,

  1. What is the tech stack you will be planning to use for the project?
  2. How many endpoints will you be creating in the backend?
  3. With what type of views do you envision the dashboard?
  4. What type of documentation you will be adding?
kgryte commented 3 months ago

As a point of clarification, the database schema is already implemented. We are already collecting the data. The goal of this project should be creating the frontend for helping us visualize and monitor the data that we've been ingesting.

It would also be good to provide a quick wireframe or sketch of how you think the dashboard should be organized. And I second Stephannie's question regarding what tech stack you are considering using.

ptl-harsh commented 3 months ago

@kgryte I had updated please see