Files
Epicnabbo-Catalogus-Updated…/cms update/README.md
T
Remco 362403ef1b 🆙 update readme 🆙
2026-02-02 19:33:36 +01:00

197 lines
5.8 KiB
Markdown

# AtomCMS Remco Epicnabbo Edition
<div align="center">
<img src="https://i.imgur.com/9ePNdJ4.png" alt="Atom CMS"/>
A modern, community-driven Retro CMS built with Laravel 12.x - **PHP 8.5 Ready**
[![Discord](https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=flat&logo=discord&logoColor=white)](https://discord.gg/pP6HyZedAj)
[![Laravel](https://img.shields.io/badge/Laravel-12.x-FF2D20?style=flat&logo=laravel&logoColor=white)](https://laravel.com)
[![PHP](https://img.shields.io/badge/PHP-8.5-777BB4?style=flat&logo=php&logoColor=white)](https://php.net)
[![PHPStan](https://img.shields.io/badge/PHPStan-Level%209-green?style=flat)](https://phpstan.org)
</div>
> Customized version of Atom CMS by Remco (Epicnabbo) with PHP 8.5 compatibility and full PHPStan level 9 compliance.
## 📋 What Changed
### PHP 8.5 Upgrade
- **Upgraded to PHP 8.5** using Rector UP_TO_PHP_85
- Updated `rector.php` configuration for PHP 8.5
- Applied modern PHP 8.5 features and best practices
### PHPStan Level 9 Compliance
- **Fixed all PHPStan level 9 errors** (0 errors achieved)
- Fixed return types in all controllers
- Fixed middleware nullsafe operators
- Added proper type declarations
- Updated `phpstan.neon` configuration
### Bug Fixes
- Fixed class naming issues in `WebsiteTeam.php`
- Fixed `PasswordValidationRules` trait imports
- Fixed duplicate imports in Filament resources
- Fixed `Form::fill()` usage in `ManageBadgeUploads.php`
- Fixed `array_chunk` parameter types in `InstallationController.php`
- Fixed `isset`/logic issues in `PaypalController.php`
- Fixed `GoogleRecaptchaRule` return type
- Added missing `TurnstileCheck` class implementation
### New Features
- Added `ExternalTextsParser.php` stub with required methods
- Added `getPredominantImageColor()` helper function
- Fixed `getPredominantImageColor()` in `ArticleResource.php`
---
## 🎯 About
Atom CMS is a modern, community-driven CMS designed to provide a flexible and user-friendly platform for retro hotel management. This version is optimized for PHP 8.5 with strict type checking.
### Built With
- **[Laravel 12.x](https://laravel.com/docs/12.x)** - Elegant PHP framework powering the backend
- **[Vite](https://vitejs.dev/)** - Next-generation frontend tooling for blazing-fast builds
- **[TailwindCSS](https://tailwindcss.com/)** - Utility-first CSS framework for responsive design
- **PHP 8.5** - Latest PHP version with modern features
---
## ✨ Features
- 🎨 **Built-in Theme System** - Use any CSS framework or create custom themes
- 🔐 **Secure Authentication** - Laravel-powered authentication and authorization
- 🌍 **Multi-language Support** - Built-in localization for global audiences
- 📊 **Integrated Housekeeping** - Comprehensive admin panel
- 🔄 **Rcon System** - Real-time server communication
- 📱 **Responsive Design** - Mobile-first approach with TailwindCSS
- 🚀 **PHP 8.5 Ready** - Latest PHP features with full type safety
---
## 👀 Requirements
| Requirement | Version |
|------------|---------|
| PHP | **8.5** or higher |
| MySQL | 8.x or higher |
| MariaDB | 10.x or higher |
| Composer | v2 |
| Node.js | LTS |
### Required PHP Extensions
```ini
extension=curl
extension=fileinfo
extension=gd
extension=mbstring
extension=openssl
extension=pdo_mysql
extension=sockets
extension=intl
```
---
## 🛠️ Installation
```bash
# Clone the repository
git clone <repository-url>
cd atomcms
# Configure environment
copy .env.example .env
# Edit .env and update your database credentials
# Install dependencies
composer install
npm install
# Set up database and generate key
php artisan migrate --seed
php artisan key:generate
# Build assets
npm run build:atom
```
---
## 🧪 Verification
Run PHPStan to verify level 9 compliance:
```bash
php -d memory_limit=2G vendor/bin/phpstan analyse --no-progress --error-format=table
```
Expected output: **0 errors**
---
## 📝 Files Modified
### Core Upgrades
- `rector.php` - PHP 8.5 configuration
- `phpstan.neon` - Level 9 configuration
### Controllers Fixed
- `app/Http/Controllers/Community/LeaderboardController.php`
- `app/Http/Controllers/Community/Staff/StaffApplicationsController.php`
- `app/Http/Controllers/Community/Staff/WebsiteTeamApplicationsController.php`
- `app/Http/Controllers/Community/WebsiteRareValuesController.php`
- `app/Http/Controllers/Miscellaneous/InstallationController.php`
- `app/Http/Controllers/Shop/PaypalController.php`
### Middleware Fixed
- `app/Http/Middleware/InstallationMiddleware.php`
- `app/Http/Middleware/MaintenanceMiddleware.php`
- `app/Http/Middleware/SetThemeMiddleware.php`
### Filament Resources Fixed
- `app/Filament/Resources/Atom/Articles/ArticleResource.php`
- `app/Filament/Resources/Hotel/BadgeUploads/Pages/ManageBadgeUploads.php`
- `app/Filament/Resources/Atom/Permissions/PermissionResource.php`
### Services & Rules
- `app/Services/Articles/ReactionService.php`
- `app/Services/Parsers/ExternalTextsParser.php` (new)
- `app/Http/Rules/GoogleRecaptchaRule.php`
- `app/Http/Rules/TurnstileCheck.php`
### Helpers
- `app/Helpers/helper.php` - Added `getPredominantImageColor()`
---
## 📚 Documentation
For original Atom CMS documentation, visit the [official wiki](https://github.com/atom-retros/atomcms/wiki).
---
## 🤝 Credits
### Original Atom CMS Team
- **Kasja** - Design direction, Dusk theme, ideas & graphics
- **INicollas** - Dark mode, Turbolinks, article reactions, user sessions
- **Kani** - Rcon system, FindRetros API, Atom CMS v2 creator/maintainer
- **DuckieTM** - Badge drawer, bugfixes, housekeeping features
- **EntenKoeniq** - Auto language registration, color scheme selection
### This Edition
- **Remco (Epicnabbo)** - PHP 8.5 upgrade, PHPStan level 9 compliance
---
<div align="center">
**AtomCMS Remco Epicnabbo Edition** - PHP 8.5 Compatible
*Made with ❤️ by the Epicnabbo Community*
</div>