One of the todo list applications of all time
I wanted to create a side project that would keep track of things + to learn and re-learn some front-end concepts!
- Clone the repository
- Install dependencies:
pnpm install
- Set up environment variables:
cp .env.local.example .env.local
- Start the development server:
pnpm dev
The application will be available at http://localhost:3001
src/
βββ app/ # Next.js app router pages
βββ components/ # React components
β βββ todos/ # Todo-related components
β βββ ui/ # UI components
βββ hooks/ # Custom React hooks
βββ lib/ # Utility functions
βββ types/ # TypeScript types
βββ styles/ # Global styles
$ pnpm dev:fe # Starts types + web frontend
- Cmd-K: Keyboard shortcuts to go around
- Code Formatting: Uses Prettier
- Type Checking: TypeScript strict mode
- Linting: ESLint with Next.js config
- Testing: (Coming soon)
This project uses Turborepo for monorepo management. Here are the essential commands:
# Add a package to web app
pnpm add <package> --filter @x-padlet/web
# Add a dev dependency to web app
pnpm add -D <package> --filter @x-padlet/web
# Install all dependencies (from root)
pnpm install
# Install dependencies for web app only
pnpm install --filter @x-padlet/web
# Update all dependencies
pnpm update
# Update specific package
pnpm update <package> --filter @x-padlet/web
# Run dev server for web app
pnpm dev
# Run storybook
pnpm storybook
# Run both dev and storybook in parallel
pnpm dev & pnpm storybook
# Build all packages
pnpm build
# Build web app only
pnpm build --filter @x-padlet/web
# Starting
pnpm --filter @x-padlet/web start
# Generate build dependency graph
npx turbo run build --graph=graph.png
# Lint all packages
pnpm lint
# Lint web app only
pnpm lint --filter @x-padlet/web
# Format all packages
pnpm format
# Format web app only
pnpm format --filter @x-padlet/web
# Run tests for all packages
pnpm test
# Run tests for web app only
pnpm test --filter @x-padlet/web
# Clean all packages
pnpm clean
# Clean web app only
pnpm clean --filter @x-padlet/web
# List all packages
pnpm list -r
# Check for unused dependencies
pnpm knip
- "Root directory is at https://vercel.com/daryllxds-projects/x-padlet/settings/build-and-deployment - should be apps/web, we cannot really change this in vercel.json"