https://github.com/manineedtosleep/cuisine_courierv2
Cuisine Courier is a modern recipe discovery platform with a cozy cabin kitchen aesthetic. Users can browse recipes from TheMealDB, create personalized collections, save favorites, and manage their culinary journey through an intuitive dashboard. Built with Next.js, React, TypeScript, and PostgreSQL.
https://github.com/manineedtosleep/cuisine_courierv2
authentication cabin-aesthetic collections culinary dashboard favorites food kitchen mealdb-api nextjs postgres prisma react recipes responsive tailwindcss typescript user-collections
Last synced: about 2 months ago
JSON representation
Cuisine Courier is a modern recipe discovery platform with a cozy cabin kitchen aesthetic. Users can browse recipes from TheMealDB, create personalized collections, save favorites, and manage their culinary journey through an intuitive dashboard. Built with Next.js, React, TypeScript, and PostgreSQL.
- Host: GitHub
- URL: https://github.com/manineedtosleep/cuisine_courierv2
- Owner: ManINeedToSleep
- License: mit
- Created: 2025-02-05T05:07:13.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-23T01:23:58.000Z (2 months ago)
- Last Synced: 2025-03-23T02:25:15.889Z (2 months ago)
- Topics: authentication, cabin-aesthetic, collections, culinary, dashboard, favorites, food, kitchen, mealdb-api, nextjs, postgres, prisma, react, recipes, responsive, tailwindcss, typescript, user-collections
- Language: TypeScript
- Homepage: https://cuisine-courier-v2.vercel.app
- Size: 251 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cuisine Courier
Cuisine Courier is a modern recipe browsing and management application built with Next.js, featuring a cozy cabin kitchen aesthetic. The app allows users to discover recipes, save favorites, create collections, and manage their culinary adventures.

## Features
- **User Authentication**: Secure user registration and login system
- **Recipe Browsing**: Search and browse recipes from TheMealDB API
- **Personalized Dashboard**: User-specific dashboard showing recent activities, favorites, and collections
- **Favorites**: Save and manage favorite recipes
- **Collections**: Create custom collections to organize recipes
- **Responsive Design**: Beautiful UI that works on all devices## Technology Stack
- **Frontend**:
- Next.js 15 (App Router)
- React 19
- TypeScript
- Tailwind CSS for styling- **Backend**:
- Next.js API Routes
- Prisma ORM with PostgreSQL (Neon Database)
- JWT/Jose for authentication- **APIs**:
- Integration with TheMealDB for recipe data- **Deployment**:
- Ready for deployment on Vercel## Project Structure
```
cuisine_courierv2/
├── prisma/ # Database schema and seed data
│ ├── schema.prisma # Database models and relationships
│ └── seed.mjs # Seed script for initial data
├── public/ # Static assets
├── src/
│ ├── app/ # Next.js App Router structure
│ │ ├── api/ # API routes
│ │ ├── auth/ # Authentication pages
│ │ ├── browse/ # Recipe browsing pages
│ │ ├── dashboard/ # User dashboard pages
│ │ └── page.tsx # Home page
│ ├── components/ # Reusable components
│ │ ├── auth/ # Authentication components
│ │ ├── nav/ # Navigation components
│ │ └── ui/ # UI components
│ ├── lib/ # Core functionality
│ │ ├── auth.ts # Authentication logic
│ │ ├── db.ts # Database connection
│ │ ├── mealdb.ts # TheMealDB API integration
│ │ └── favorites.ts # Favorites management
│ └── utils/ # Utility functions
```## Database Schema
The application uses a PostgreSQL database with the following models:
- **User**: User accounts and profiles
- **Favorite**: User's favorite recipes
- **Collection**: Custom recipe collections
- **CollectionRecipe**: Junction table for recipes in collections
- **Activity**: User activity tracking## Getting Started
First, set up your environment variables by creating a `.env` file in the root directory:
```
DATABASE_URL=your_neon_database_connection_string
DIRECT_URL=your_direct_neon_connection_string
JWT_SECRET=your_jwt_secret
```Then, run the development server:
```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
## Seed Data
To populate the database with initial data:
```bash
npm run seed
```This creates a test user:
- Email: [email protected]
- Password: password123## Build and Deployment
To build the application:
```bash
npm run build
```The project is configured for easy deployment on Vercel with automatic Prisma migrations.
## Learn More
To learn more about the technologies used:
- [Next.js Documentation](https://nextjs.org/docs)
- [Prisma Documentation](https://www.prisma.io/docs)
- [TheMealDB API](https://www.themealdb.com/api.php)
- [Tailwind CSS Documentation](https://tailwindcss.com/docs)## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.