A modern, fully responsive web application to explore, sort, and manage a personal beer collection. Featuring light/dark mode support, customizable filters, and a sleek, user-friendly interface.
- Browse Beers: View a grid of beers fetched from Punk API.
- Sort & Filter: Order by name, ABV, IBU, EBC, or year.
- Custom Beers: Add your own beers and manage them locally.
- Detail View: View detailed information with image, stats, and food pairings.
- Dark Mode: Seamless light and dark themes with a toggle.
- Responsive Design: Optimized for mobile, tablet, and desktop.
- Framework: Next.js (App Router)
- Language: TypeScript
- Styling: Tailwind CSS, class-variance-authority (CVA)
- UI Primitives: Radix UI
- Icons: Lucide React
- Testing: Vitest, React Testing Library
- Node.js v16+
- npm or yarn
- Clone the repository:
git clone https://github.com/your-username/beer-collection-app.git cd beer-collection-app
- Install dependencies:
npm install # or yarn
npm run dev
# or
yarn dev
Open http://localhost:3000 in your browser.
Command | Description |
---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm start |
Start production server |
npm run lint |
Run ESLint |
npm run test |
Run unit tests with Vitest |
Home page with sorting and dark mode
Beer detail page with stats and actions
Feature to add new beers to catalog
Contributions are welcome! Please read CONTRIBUTING.md for details.
This project is licensed under the MIT License. See the LICENSE file for details.
Pedro Reis
📧 [email protected]
LinkedIn | GitHub