Look at the Nuxt 3 documentation to learn more ⬅️
Cooky is your interactive culinary hub where you can store personal recipes, discover new favorites, and engage with a community of food enthusiasts. Browse, rate, and save a variety of dishes shared by users around the world. 'Cooky' transforms everyday cooking into a shared journey of culinary discovery and enjoyment.
Cooky, a cookbook, is a school project designed for a university course focused on databases. The goal of the project is to create a comprehensive database application that serves as a collection of recipes. The application should allow users to add their own recipes, rate existing ones, and search for recipes based on various criteria, such as ingredients or name. The project not only provides practical experience with the design and implementation of database systems but also supports understanding the importance of user-friendliness and search efficiency in databases. Cooky is therefore not just a school project but also a useful tool for anyone looking for culinary inspiration.
-
Install all dependencies:
npm install
-
Install all recommended VS Code extensions for the best development experience. VS Code will prompt you to install them when you open the project.
The easiest way to run the project is to use the provided Docker Compose configuration. This will build production application server and a PostgreSQL database.
docker compose up
The database schema will be created with some initial data, application will be available at http://localhost:8080
.
This setup is just for testing purposes, to preview the finished product and not inteded for development.
The database will be persisted in a cooky
docker volume. To remove the database and start from scratch, you can use the following commands:
docker compose down -v
docker compose up
For development, you can use the development server provided by Nuxt. This will enable hot reload and debugging functionality.
To start the development server, you can use the following command:
npm run dev
Build the application for production:
npm run build
Locally preview production build:
npm run preview