This device is not compatible.

Recipe Sharing Application with Laravel and Alpine.js

PROJECT


Recipe Sharing Application with Laravel and Alpine.js

In this project, we’ll learn to create a CMS-like dynamic application for creating and sharing recipes with user authentication using Laravel and MySQL.

Recipe Sharing Application with Laravel and Alpine.js

You will learn to:

Create dynamic applications using Laravel from scratch.

Set up authorization with user and admin roles.

Protect the admin backend with Laravel gates and policies.

Create dynamic Laravel Blade templates and components.

Create event-based functions like sending an email.

Create AJAX requests with JavaScript making the application more dynamic.

Skills

Web Development

Backend Development

Authorization and Authentication

Database Design

Prerequisites

Good understanding of PHP

Good knowledge of the relational databases like MySQL

Familiarity with JavaScript

Familiarity with OOP paradigm

Technologies

PHP

MySQL

Laravel

Tailwind

Project Description

This project explains all the steps needed to create a dynamic application with the Laravel framework, one of the world’s best and most used PHP frameworks. We will create a CMS (content management system) for sharing recipes among users.

Anyone can register and create the recipes, but we will create only one admin using a custom Laravel command. Everyone can see all the recipes, but one can modify only one’s recipes. The main search will allow users to easily search for recipes by any term. We will develop an admin backend where the admin can manage the users or recipes created by others.

Application development technologies include Laravel, the fastest-growing PHP framework; Alpine.js, the go-to framework for Laravel, which makes applications smooth and dynamic; Vanilla JavaScript; and Tailwind CSS, the utility-first CSS framework.

The final layout of the application will look as follows:

Application’s layout
Application’s layout

Project Tasks

1

Introduction

Task 0: Get Started

2

Set Up the Authentication

Task 1: Customize the Laravel Registration

Task 2: Create an Admin User

Task 3: Add New Fields to the Registration Page

Task 4: Send the Welcome Email to the New User

3

Set Up the Users and Ingredients Module

Task 5: Create User Routes and Controller, and Secure Them

Task 6: Create Authorization

Task 7: Create the Logic for User CRUD Operations

Task 8: Create Views for User CRUD Operations

Task 9: Create the Delete Confirmation Functionality

Task 10: Customize the User Profile

Task 11: Create and Seed the Ingredients Table

4

Design the Database Relationships

Task 12: Design Recipes Database Table

Task 13: Create Recipes Ingredients Relationship

5

Create a Recipe CRUD System

Task 14: Create the Recipe Dashboard Page

Task 15: Create the Recipe Form

Task 16: Enable the Updates on Recipes

6

Create the Application Frontend

Task 17: Make the Recipes Grid

Task 18: Make the Recipe Grid Searchable and Create a Single Recipe Page

7

Create Recipe Interactions

Task 19: Make the Recipe Bookmarkable

Task 20: Make the Recipe Likeable

Task 21: Make the Recipe Commentable

Congratulations!