TastyHub is a web application for managing and sharing recipes. Users can create, view, update, and delete recipes through a user-friendly interface.
- Node.js: Ensure Node.js is installed on your machine. You can download it from Node.js website.
- Angular CLI: Install Angular CLI globally using npm:
npm install -g @angular/cli
.
- Clone the repository:
git clone https://github.com/chiarazetaa/tasty-hub.git
- Open terminal and ensure you are using Node.js version 20:
node --version
(If not, install or switch to Node.js version 20) - Navigate to the frontend directory:
cd tasty-hub/frontend
- Install frontend dependencies:
npm install
- Open another terminal and ensure you are using Angular 16:
ng version
(If not, install or switch to Angular 16) - Navigate to the backend directory:
cd tasty-hub/backend
- Install backend dependencies:
npm install
- Start the backend server: Navigate to the backend directory and run
npm start
. - Start the frontend server: Navigate to the frontend directory and run
npm start
. - Open your web browser and go to http://localhost:4200/.
TastyHub follows a client-server architecture:
The client-side of the application is an Angular 16 application located in the "frontend" folder. It consists of components for displaying recipes, adding, updating, and deleting recipes, as well as for managing ingredients.
The server-side of the application is a Node.js application located in the "backend" folder. It uses Fastify as the web framework and MongoDB as the database. The server provides RESTful API endpoints for performing CRUD operations on recipes and ingredients.
- Create new recipes with names, descriptions, and instructions.
- View a list of existing recipes with pagination support.
- Update existing recipes by editing their details.
- Delete recipes to remove them from the database.
- Add, update or delete ingredients of an existing recipe.
- Angular 16: A JavaScript framework for building web applications.
- Node.js: A JavaScript runtime for server-side development. (Version 20)
- Fastify: A web framework for Node.js known for its speed and low overhead.
- MongoDB: A NoSQL database used for storing recipe and ingredient data.
To run tests for the backend, execute the following command:
npm test
This command will run automated tests to verify the functionality and behavior of the backend API endpoints.
Chiara Zuffi
- Email: [email protected]
- GitHub: https://github.com/chiarazetaa
- LinkedIn: https://www.linkedin.com/in/zuffichiara/