aws / aws/graph-explorer

[Feature Request] Replace proxy server with Next.js or React Router

Open
#646 0 comments 0 reactions 0 assignees View on GitHub
enhancement infrastructure performance usability
Dominant language
TypeScript
Stars
481
Forks
108
Avg merge
6d 8h
Merged PRs (30d)
5

Description

## Description

Replace the proxy server with Next.js and move the data processing logic to the server.

## Additional Context

Using Next.js has both advantages and disadvantages.

### Advantages

- User focused
- No proxy server configuration in connection
- Faster startup performance
- Less data processing on user's machine
- Less data sent to client resulting in less bandwidth used
- Elimination of confusing edge cases related to proxy server configuration in connection
- Infrastructure focused
- Monorepo can be collapsed in to a single package
- Better type safety and code sharing across client and server
- Guaranteed server availability
- Reduced deployment configuration
- Provides a foundation for adding a shared centralized database for Graph Explorer data

### Disadvantages

- HTTP paths will change, requiring some users to change their network configurations
- More difficult to embed in to a desktop app

### Alternatives considered

#### React Router

Great performance and the focus on web standards is fantastic. But Next offers some great routing features that will be useful for Graph Explorer. Next also has support for React Server Components and Server Actions.

#### TanStack Start

Newest entry in to the React on the server world. Has great potential, but might not be battle tested enough for use.

#### tRPC

tRPC provides some nice benefits around type safety, but doesn't allow the removal of the proxy server.

## Related Issues

- #504

---

> [!IMPORTANT]
> If you are interested in working on this issue or have submitted
> a pull request, please leave a comment.

> [!TIP]
> Please use a 👍 reaction to provide a +1/vote.
>
> This helps the community and maintainers prioritize this request.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.