feat: migrate to Next.js and implement Carbon Design System dashboard #215
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.


Migrate to Next.js and implement Carbon Design System dashboard
What does this PR change?
This PR completely modernizes the
opencost-uiproject by migrating from a Parcel-based build system to Next.js 13 (App Router) and implementing a new dashboard using IBM's Carbon Design System.Major Changes:
Build System & Framework:
next.config.js,jsconfig.json,.eslintrc.json).gitignoreto exclude Next.js build artifacts (.next/)UI Framework Migration:
@carbon/reactv1.35.0)@carbon/charts-reactv1.13.0) for data visualization@carbon/icons-reactv11.14.0)New Components:
Data Layer:
assets-api.jsutility for parsing OpenCost API responsespublic/ss.json) for development and testingApplication Structure:
src/app.js,src/index.html,src/route.js)src/app/page.js,src/app/layout.js)src/app/globals.scssfor global styles with Carbon design tokenssrc/components/directorysrc/lib/directoryDependencies:
Does this PR relate to any other PRs?
How will this PR impact users?
Positive Impacts:
Breaking Changes:
Does this PR address any GitHub or Zendesk issues?
How was this PR tested?
Local Development Testing:
ss.json) and verified fallback to demo dataBrowser Compatibility:
Build & Production:
npm run dev- Development server runs successfullynpm run build- Production build completes without errorsnpm run lint- ESLint passes with Next.js configDoes this PR require changes to documentation?
Yes, the following documentation should be updated:
Have you labeled this PR and its corresponding Issue as "next release" if it should be part of the next OpenCost release? If not, why not?