Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kevinthulnith/laravel-project

Laravel 11 project with Sanctum API and Breeze | Tailwind Frontend
https://github.com/kevinthulnith/laravel-project

api api-authentication api-token authentication breeze crud email-verification frontend laravel laravel-11 laravel-project php product-crud product-management sanctum sanctum-api sanctum-authentication token-authentication user-authentication

Last synced: 4 days ago
JSON representation

Laravel 11 project with Sanctum API and Breeze | Tailwind Frontend

Awesome Lists containing this project

README

        

Laravel Logo


Build Status
Total Downloads
Latest Stable Version
License

# Laravel 11 Project with Sanctum (API) and Breeze (Frontend)

This repository contains a Laravel 11 application featuring a Sanctum-based API for authentication and product management, along with a Breeze-powered frontend (Tailwind Css styling). Below are the key features and setup instructions. To do the peoject from scratch docs for more info.

## 🚀 Features

### 🏷️ Authentication

- **Login**
- **Logout**
- **Email Verification**
- Built-in API authentication using Sanctum (requires API tokens for accessing and manipulating product data).

### 🏷️ Product Management

- **Add Product**
- **Delete Product**
- **Edit Product**
- **View Product**
- Only the users who created a product can manipulate its data.

### 🏷️ Frontend

- Built using [Laravel Breeze](https://laravel.com/docs/11.x/starter-kits#breeze) for a simple and elegant user interface. Fully responsive across multiple devices.

## 🛠️ Prerequisites

Before you begin, ensure you have the following installed on your system:

- PHP >= 8.2
- Composer
- Node.js and npm
- MySQL or any other supported database | SQLite

## ⚙️ Installation

1. Clone the repository:

```bash
git clone https://github.com/KevinThulnith/Laravel-project.git
cd Laravel-project
```

2. Install PHP dependencies:

```bash
composer install
```

3. Install JavaScript dependencies:

```bash
npm install && npm run dev
```

4. Set up your environment file:

```bash
cp .env.example .env
```

Update the `.env` file with your database credentials and other necessary configuration.

5. Generate the application key:

```bash
php artisan key:generate
```

6. Run database migrations:

```bash
php artisan migrate
```

7. Seed initial data (if any):

```bash
php artisan db:seed
```

8. Serve the application:
```bash
php artisan serve
```
The application will be available at `http://localhost:8000`.

## API Endpoints

### Authentication

- **Login:** `POST /api/login`
- **Logout:** `POST /api/logout`
- **Email Verification:** `POST /api/email/verify`

### Product Management

- **Add Product:** `POST /api/products`
- **Delete Product:** `DELETE /api/products/{id}`
- **Edit Product:** `PUT /api/products/{id}`
- **View Products:** `GET /api/products`

### Notes:

- All product manipulation endpoints require an API token.
- Only the user who created a product can edit or delete it.

## Frontend

The frontend is built using Laravel Breeze and Tailwind styling, providing:

- Authentication pages (login, registration, password reset, email verification).
- Basic product management UI integrated with the backend API.

## Testing

Run the test suite to ensure everything is working as expected:

```bash
php artisan test
```

## License

This project is open-source and available under the [MIT license](LICENSE).

---

Feel free to contribute and enhance the project! For questions or suggestions, open an issue or submit a pull request.