Rezeptly is a modern, web-based application designed to help you discover, organize, and manage your favorite recipes with ease. Whether you're a seasoned chef or just starting your culinary journey, Rezeptly provides an intuitive and elegant interface for all your cooking needs.
Follow these instructions to get a local copy of Rezeptly up and running on your machine for development and testing purposes.
Clone the repository:
git clone https://github.com/your-username/rezeptly.git
cd rezeptly
Install dependencies:
pnpm install
Set up environment variables:
Create a .env file by copying the example file:
cp .env.example .env
Update the .env file with your database credentials and other environment-specific settings.
Start the database:
Make sure Docker is running, then start the PostgreSQL database service:
pnpm db:start
Apply database schema:
Push the latest schema changes to your database:
pnpm db:push
Seed the database (optional):
Populate the database with sample recipes for development and testing. Run the interactive seed menu:
pnpm db:seed
The interactive menu will present you with the following options:
Alternatively, you can use CLI flags for non-interactive mode:
# Clear and seed the database
pnpm db:seed -- --clear
# Seed only (keep existing data)
pnpm db:seed -- --seed
Note: You must run pnpm db:start and pnpm db:push before seeding the database.
Once the setup is complete, you can start the development server:
pnpm dev
The application will be available at http://localhost:5173.
pnpm dev: Starts the development server with hot-reloading.pnpm build: Builds the application for production.pnpm preview: Serves the production build locally for previewing.pnpm check: Runs Svelte check for type-checking.pnpm lint: Lints the codebase using ESLint and Prettier.pnpm format: Formats the code using Prettier.pnpm db:start: Starts the PostgreSQL database using Docker Compose.pnpm db:push: Pushes the current Drizzle schema to the database.pnpm db:migrate: Creates a new SQL migration file based on schema changes.pnpm db:studio: Opens Drizzle Studio to browse and manage your data.pnpm db:seed: Opens an interactive menu to seed or clear the database (requires db:start and db:push first).pnpm db:seed -- --clear to clear and reseed without the interactive menu.pnpm db:seed -- --seed to seed without the interactive menu.