Features · Deployment · Getting started · Scripts overview ·
- 🚀 Next.js 14 (App router)
- ⚛️ React 18
- 📘 Typescript
- 🎨 TailwindCSS - Class sorting, merging and linting
- 🛠️ Shadcn/ui - Customizable UI components
- 🧪 Jest & React Testing Library - Configured for unit testing
- 📈 Absolute Import & Path Alias - Import components using
@/
prefix - 💅 Biome - Format, lint, all in one
- 🐶 Husky & Lint Staged - Run scripts on your staged files before they are committed
- 🔹 Icons - From Lucide
website 🎉 Has been tested across Safari, Chrome, Firefox
pnpm install
It is required if you want husky to work
pnpm prepare
You can start the server using this command:
pnpm dev
and open http://localhost:3000/ to see this app.
.
├── .husky # Husky configuration
├── public # Public assets folder
└── src
├── __tests__ # Unit and tests
├── app # Next JS App (App Router)
├── components # React components
├── hooks # Custom hooks
├── lib # Functions and utilities
├── styles # Styles folder
├── types # Type definitions
The following scripts are available in the package.json
:
dev
: Run development serverbuild
: Build the appstart
: Run production serverpreview
: Runbuild
andstart
commands togetherlint
: Lint the code using Biomelint:fix
: Fix linting errorsformat:check
: Checks the code for proper formattingformat:write
: Fix formatting issuestypecheck
: Type-check TypeScript without emitting filestest
: Run unit teststest:watch
: Run unit tests in watch modepostbuild
: Generate sitemapprepare
: Install Husky for managing Git hooks
- I wanted to add a way to avoid low contrast colors within elements. I tried different approaches but It wasn't ideal so I dropped it completely.
- More Unit tests and UI Integration tests.
- More Styling around the canvas and the elements.
- More file management, potentially upload the json files to S3 and provide a file management for the client.