Skip to content

A recipe management web app built with Laravel, Blade, and role-based access control.

Notifications You must be signed in to change notification settings

MarkoMilenovic01/FlavorSage

Repository files navigation

FlavorSage – Recipe Management Application

FlavorSage is a recipe management web application built with Laravel and Blade.
It allows users to browse, create, and manage recipes while enforcing role-based access control.

The project demonstrates a real-world Laravel application using MVC architecture, authentication, authorization, and CRUD functionality.


🍽 Project Overview

FlavorSage enables users to interact with cooking recipes in a structured and secure way.
Different users have different permissions depending on their role.


✨ Core Functionalities

Public users can:

  • Browse recipes
  • View recipe details
  • Register and log in

Authenticated users can:

  • Create new recipes
  • Edit their own recipes
  • Delete their own recipes
  • Manage their recipes through a dashboard
  • Log out securely

Role-based authentication:

  • The application implements role-based authorization
  • Different user roles can perform different actions
  • Regular users manage their own content
  • Admin users have extended permissions

Admin features include:

  • Access to an admin dashboard
  • User promotion and demotion
  • Data export to PDF
  • Administrative management features

🛠 Technology Stack

Backend:

  • Laravel (PHP)

Frontend:

  • Blade templating engine
  • HTML5
  • CSS3

Database:

  • MySQL or SQLite

Authentication & Authorization:

  • Laravel built-in authentication
  • Role-based access control

Architecture:

  • MVC (Model–View–Controller)

📁 Project Structure (Simplified)

app/

  • Http/Controllers
  • Models

resources/

  • views/

routes/

  • web.php

database/

  • migrations
  • seeders

▶️ How to Run the Project Locally

  1. Clone the repository

git clone https://github.com/MarkoMilenovic01/flavorsage.git
cd flavorsage

  1. Install PHP dependencies

composer install

  1. Create environment configuration

cp .env.example .env

(On Windows PowerShell)
copy .env.example .env

  1. Generate application key

php artisan key:generate

  1. Configure the database

Edit the .env file and set your database credentials:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=flavorsage
DB_USERNAME=root
DB_PASSWORD=

Make sure the database exists before continuing.

  1. Run database migrations

php artisan migrate

(Optional, if seeders exist)

php artisan migrate --seed

  1. Start the Laravel development server

php artisan serve

The application will be available at:

http://127.0.0.1:8000


🎯 Project Goals

  • Build a full-featured Laravel application
  • Implement role-based authentication and authorization
  • Practice secure CRUD operations
  • Apply MVC architecture in a real-world project
  • Create a portfolio-ready Laravel application

👤 Author

Marko Milenović
Laravel / PHP Developer
University and portfolio project


📜 License

This project is created for educational and portfolio purposes.
You are free to study, modify, and reuse the code.

About

A recipe management web app built with Laravel, Blade, and role-based access control.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published