A professional Next.js application built with TypeScript and modern development tools.
- Framework: Next.js 15.5.3 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- Development: Turbopack for fast builds
- Code Quality: ESLint + Prettier
- Testing: Jest + React Testing Library
- Git Hooks: Husky + lint-staged
- Package Manager: npm
├── src/
│ ├── app/ # App Router pages and layouts
│ │ ├── page.tsx # Home page
│ │ ├── layout.tsx # Root layout
│ │ └── globals.css # Global styles
├── __tests__/ # Test files
├── .vscode/ # VS Code settings
├── .husky/ # Git hooks
└── ...config files
- Node.js 18+
- npm
# Clone the repository
git clone <your-repo-url>
cd windfall
# Install dependencies
npm install
# Create environment file (optional)
cp .env.example .env.local# Development
npm run dev # Start development server with Turbopack
npm run build # Build for production
npm run start # Start production server
# Code Quality
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issues
npm run format # Format code with Prettier
npm run format:check # Check formatting
# Testing
npm test # Run tests
npm run test:watch # Run tests in watch mode
npm run test:coverage # Run tests with coverage
# Type Checking
npm run type-check # Run TypeScript compiler checkThis project uses Jest and React Testing Library for testing. Tests are located in the __tests__ directory.
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Generate coverage report
npm run test:coverageThis project uses ESLint and Prettier for consistent code formatting:
- ESLint: Configured with Next.js and TypeScript rules
- Prettier: Opinionated code formatter
- Husky: Git hooks for pre-commit linting
- lint-staged: Run linters on staged files
Code is automatically formatted on save (if VS Code is configured properly) and before each commit.
Recommended VS Code extensions are listed in .vscode/extensions.json:
- ESLint
- Prettier
- Tailwind CSS IntelliSense
- TypeScript Importer
Settings are configured in .vscode/settings.json for optimal development experience.
# Build the application
npm run build
# Start the production server
npm startCopy .env.example to .env.local and fill in your values:
# Database
DATABASE_URL="your-database-url"
# Authentication
NEXTAUTH_SECRET="your-nextauth-secret"
NEXTAUTH_URL="http://localhost:3000"- Fork the repository
- Create a feature branch:
git checkout -b feature/new-feature - Commit changes:
git commit -am 'Add new feature' - Push to branch:
git push origin feature/new-feature - Submit a pull request
This project is licensed under the MIT License.