Skip to content

Migrating the Graphspace UI with modern stack like Next.js + React #273

@yash170106065

Description

@yash170106065

Background

GraphSpace is an easy-to-use web-based platform collaborating research groups can use for storing, interacting with, and sharing networks. A GraphSpace user can upload graphs through a REST API, import graphs created in Cytoscape, interact with graphs (view them, customize layouts, and save layouts), share graphs (create groups and add collaborators, share graphs among all members of a group or with the world), search graphs, and organize graphs using tags. GraphSpace has a comprehensive REST API that allows users to communicate programmatically with it. Overall, GraphSpace provides a rich set of user-friendly features designed to enhance network-based collaboration.


Goal

This project aims to modernise and future-proof the GraphSpace frontend by migrating the existing JavaScript-based UI to a Next.js + modern React stack. The goal is to improve developer experience, long-term maintainability, scalability, and UI consistency, while establishing a clean and extensible frontend architecture for future feature development.

  • Rebuild GraphSpace UI with Next.js + Modern React:
    Migrate the existing frontend to Next.js (App Router) with a clean, modular design system.

  • Adopt a modern frontend foundation:
    Introduce TypeScript for type safety, ESLint/Prettier for consistent code quality, and modern styling solutions such as Tailwind CSS or CSS Modules. Optionally integrate a component library like shadcn/ui or MUI where appropriate.

  • Establish scalable frontend patterns:
    Implement a feature-based folder structure (routes/pages → features → components → services) and build shared UI primitives along with reusable GraphSpace-specific components such as graph lists, graph viewers, node/edge panels, filters, and controls.

  • Improve UX, accessibility, and responsiveness:
    Ensure the UI is fully responsive, follows basic WCAG accessibility guidelines, and provides a consistent, intuitive user experience across the platform.


Difficulty Level

Medium


Size and Length of Project

  • Medium: 175 hours
  • 12 weeks

Skills

JavaScript
React
Next.js
TypeScript
HTML & CSS
Modern CSS (Tailwind CSS / CSS Modules)


Public Repository

https://github.com/Murali-group/GraphSpace/


Potential Mentors

Yash Agarwal
Mahesh Kasbe
Daniyal Jahan Warsi
Aditya Bharadwaj


IRC

Discord for GSoC 2023: https://discord.gg/AqjnwHndq8
Gitter for community: https://gitter.im/graphspace/community?utm_source=share-link&utm_medium=link&utm_campaign=share-link

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions