A Laravel-based headless CMS with Filament admin panel. This project provides both API authentication for external clients and a web-based admin interface for content management.
- API-First Architecture: Full REST API for managing content
- Admin Panel: Intuitive Filament-based content management
- Content Types: Posts, Categories, and Tags with relationships
- Authentication: Token-based API authentication with Sanctum
- Flexible: Easy to extend and customize for your needs
- PHP 8.2+
- Composer
- Database (SQLite, MySQL, PostgreSQL)
- Clone the repository:
git clone https://github.com/fkadeal/headless.git
cd headless- Install dependencies:
composer install
npm install- Set up environment:
cp .env.example .env
php artisan key:generate-
Configure your database in
.envfile -
Run migrations:
php artisan migrate- Start the development server:
php artisan serveThe CMS provides a comprehensive API for managing content:
POST /api/login- Get API tokenPOST /api/logout- Revoke token
GET /api/posts- List postsPOST /api/posts- Create post (auth required)GET /api/posts/{id}- Get single postPUT/PATCH /api/posts/{id}- Update post (auth required)DELETE /api/posts/{id}- Delete post (auth required)
Similar endpoints are available for categories and tags.
Access the admin panel at /admin to manage your content through an intuitive interface.
- Post: Content with title, slug, content, excerpt, category, tags, publishing status
- Category: Hierarchical categories for organizing content
- Tag: For content tagging and filtering
- Posts belong to Categories
- Posts have many Tags (many-to-many)
- Categories can be hierarchical (parent-child)
- CMS Features - Complete API and functionality documentation
- Authentication Setup - Authentication architecture details
Fork the repository, create a feature branch, and submit a pull request.
Fkadeal Matiwos - GitHub Profile
This project is open source and available under the MIT License.
For support, please open an issue on the GitHub repository.