Skip to content

[RFC]: build a developer dashboard for tracking repository build status #151

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
7 tasks done
dvli-landolsi opened this issue Apr 8, 2025 · 1 comment
Open
7 tasks done
Labels
2025 2025 GSoC proposal. rfc Project proposal.

Comments

@dvli-landolsi
Copy link

Full name

Landolsi Mohamed Ali

University status

Yes

University name

Ecole Polytechnique de Sousse

University program

Engineering in Computer Science

Expected graduation

2027

Short biography

I'm a Full-Stack Developer with a solid background in Computer Science. I graduated from Horizon School Sousse and am currently a student at the Polytechnique School of Sousse. I’ve worked as a freelance developer on Upwork and also gained experience as a developer intern in a company. My main stack includes JavaScript, TypeScript, React, Node.js, and Go, and I'm comfortable working with tools like PostgreSQL, Docker, and CI/CD pipelines.

Although I haven't contributed to open source yet, it's something I've always wanted to do/to learn, collaborate, and give back to the developer community. This project feels like the perfect opportunity to start.

Timezone

Africa/Tunis

Contact details

[email protected]

Platform

Mac

Editor

I usually use VSCode for web development.

Programming experience

Achieved Top Rated and Rising Talent badges In Upwork with 100% job success scoring.

At SoftyEducation, I Managed a team of 13 students, collaborating on their projects and providing technical help to ensure successful project completion. i Focused on developing their skills in front-end development.

  • SEO Diffuse Kit
    Contributed to the development of an SEO tool similar to SEMrush, focusing on website health analysis and keyword tracking. Implemented features to optimize on-page SEO.

  • Tresovista
    Developed the Main features for a French expense management software, focusing on localization and integrating real-time financial data. Enhanced the user experience for French-speaking users by ensuring language support and accurate currency formatting.

  • Softylines Company
    Built the landing page using Next.js, improving performance, SEO, and responsiveness. Collaborated with designers to create nice layouts that load quickly and provide a great user experience.

JavaScript experience

I have been using JavaScript and TypeScript since 2021, and I can say that I have a significant experience with these programming languages. I have used them to create scripts, automations, web apps, back-end services, and even npm packages.

Node.js experience

Well same goes to Node.js. I have been working with Node.js since 2021,for building back-end services and APIs. I have experience using Express.js for creating RESTful APIs, handling authentication, working with databases like MongoDB PostegreSQL, and integrating third-party services. Additionally, I've used Node.js for tasks like scripting, automation, CMS strapi...

C/Fortran experience

I have basic experience with C, but I don't have experience with Fortran.

Interest in stdlib

I'm interested in stdlib because it's widely used and has a significant impact on the developer community. I want to contribute to something that helps people, and being part of a project that is both popular and helpful. Also I hope to gain a deeper understanding of how large-scale architectures are designed. I believe that contributing to such a valuable open-source project will allow me to learn, and give back to the community in a meaningful way.

Version control

Yes

Contributions to stdlib

I am planning to work on more issues in the coming days to strengthen my proposal. However, I have started working on one issue 'Good First Issue' already and created a PR.

issue: stdlib-js/stdlib#6499
PR: stdlib-js/stdlib#6518
status: open

stdlib showcase

I've been working on a private project where I applied various functions from stdlib to calculate technical indicators for stock trading, such as RSI and SMA. While the project is still not yet public, once it reaches a certain level of maturity, I plan to open-source it.

Goals

My goals for this project are to help the stdlib developers get access to a dashboard where they can track and visualize build results, so they can understand which repo is causing the crash. Also, I want to work on an open-source project so I can contribute something helpful to developers who work on things that are helpful for other developers. I want to see how working on an open-source project goes, and I want to be guided by experts in this field.

Why this project?

This project might seem minor since it will be only affecting developers who work on open-source stdlib package. but it is serving this in a great way so they can give the best outcome in the best time possible without too much time spent on searching in all projects. Also, i want to work on this project since it aligns well with my Programming knowledge since i've worked with this stack before Node.js and React

Qualifications

This project as i said aligns well with my experience since i worked with React and Node.js and with SQL / noSQL databases also a small experience with CI/CD pipelines.

Prior art

Yes there are some projects that have been implemented before such as jenkins or travis, gitlab dashboards.

Commitment

I will dedicate at least 15 hours per week to the project throughout the GSoC period. I will follow the proposed roadmap, ensuring consistent progress. My schedule is flexible, and I can work extra hours if needed to meet milestones.

Schedule

Assuming a 12 week schedule,

  • Community Bonding Period:

Participate in meetings to get to know everyone and my mentors

get a better vision on the direction of project.

Start by setting up my local environments and initialize the projects

  • Week 1:
    Sketch wireframes (dashboard, filters, repo detail page).
Image Image

Setup GitHub repo and CI

Set up React and Tailwind CSS for the frontend.

Understand and give feedback on the existing database schema and set one final

  • Week 2:

Create API to fetch:

  1. All repo builds
  2. Failed builds
  3. Builds by status/date range/repo

Setup pagination and filtering

Test using Postman or Swagger

  • Week 3:
    Set up basic layout with Tailwind (sidebar, header, main content)

Implement navbar/sidebar navigation

Static page for “All Builds”

Integrate initial API call to display real-time build statuses

  • Week 4:
    Build a responsive table/grid to display builds

Add filters:

By status (failed, passed, running)

By repo name

By timestamp/date range

Highlight failures visually (e.g., red row for failed builds)

  • Week 5:

Create detail page for a repository

  1. Show build history
  2. Link to artifacts/logs

Show time-series chart of build trends

  • Week 6: (midterm)

meeting with mentors to see if everything is going ok so far

Implement polling or WebSockets for live updates

Ensure updates reflect on dashboard without refresh

  • Week 7:

handle Empty data, API errors, Loading states

Add skeleton loading screens

  • Week 8:
    Add charts:

Build failures over time (bar/line chart)

Success rate % by repo

Use libraries like recharts, chart.js, or d3

  • Week 9:

Add developer authentication (GitHub OAuth or basic login)

  • Week 10:
    Cross-browser testing

Accessibility fixes

Mobile responsiveness

Polish UI/UX details

  • Week 11:
    Write:
    API docs
    Setup instructions
    Architecture overview

  • Week 12:
    Make last refinements

  • Final Week:
    submit final project
    Notes:

  • The community bonding period is a 3 week period built into GSoC to help you get to know the project community and participate in project discussion. This is an opportunity for you to setup your local development environment, learn how the project's source control works, refine your project plan, read any necessary documentation, and otherwise prepare to execute on your project project proposal.

  • Usually, even week 1 deliverables include some code.

  • By week 6, you need enough done at this point for your mentor to evaluate your progress and pass you. Usually, you want to be a bit more than halfway done.

  • By week 11, you may want to "code freeze" and focus on completing any tests and/or documentation.

  • During the final week, you'll be submitting your project.

Related issues

no there is not open issues related to this project since it is new.

Checklist

  • I have read and understood the Code of Conduct.
  • I have read and understood the application materials found in this repository.
  • I understand that plagiarism will not be tolerated, and I have authored this application in my own words.
  • I have read and understood the patch requirement which is necessary for my application to be considered for acceptance.
  • I have read and understood the stdlib showcase requirement which is necessary for my application to be considered for acceptance.
  • The issue name begins with [RFC]: and succinctly describes your proposal.
  • I understand that, in order to apply to be a GSoC contributor, I must submit my final application to https://summerofcode.withgoogle.com/ before the submission deadline.
@dvli-landolsi dvli-landolsi added 2025 2025 GSoC proposal. rfc Project proposal. labels Apr 8, 2025
@dvli-landolsi
Copy link
Author

Hi @kgryte ,I wanted to reach out and ask—could you review my work when you have a moment? I really appreciate your expertise and would be grateful for any feedback you might have.

Thanks so much for your time!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2025 2025 GSoC proposal. rfc Project proposal.
Projects
None yet
Development

No branches or pull requests

1 participant