Build modern, scalable web applications with Nucleify – a modular, core-driven framework of uniquely functional, nucleus-inspired modules. Easily structure, manage, and reuse components to create responsive, maintainable, and flexible web apps. Nucleify leverages Laravel for the backend and Nuxt for the frontend, giving developers a powerful full-stack foundation.
Designed with Atomic Design, Mobile-First, Feature-Sliced and Test Driven Development principles in mind, Nucleify helps developers deliver powerful, efficient, and future-proof web projects.
Join our project and become part of building something incredible!
⭐ Project setup with a single command
⭐ Unique Laravel/Nuxt modules & overrides functionality
⭐ Atomic Design components + CSS modules
⭐ Futuristic UI made with PrimeVue + Chart.js + GSAP + SCSS
✅ 94/96 Performance
- SSR & Prerendering
- Nuxt building with Atomic Design gives nicely separated chunks, able to defer as you wish
- Preloading icons, font-display: swap + defer non-critical CSS + JS
- Fetching website's content like questions, or technologies from database on prerender, making them editable and accessible instantly without load time
- nuxt-vitalizer - this module is just perfect
- @nuxtjs/google-fonts - downloading fonts on building & serving them on prerender, reducing third-party sources
- I also recommend
<deferred-content>tag from PrimeVue - it impacts performance extremely well - and some other magic tricks that we keep secret :D
We have officially deprecated all installation methods other than Docker.
Alternative installation approaches proved unnecessary and introduced additional complexity and avoidable setup issues.
To ensure a simpler and more reliable setup process, the project is now distributed exclusively through Docker.
🛠️ Installation
-
First make sure u have installed latest version of Docker, Composer, Node.js, pnpm and have Make command ready
-
Clone this repository
git clone https://github.com/Nucleify/Nucleify
- Run
makecommand
That's it! Now, you can enter http://localhost:3000
Harder way
-
Copy
.config/.env.docker.exampleto.envin root directory -
Run
composer install -
Build & run Docker image
sail up --build -d
bash .config/bash/wait-for-db.sh # Wait for MySQL on slower machines
sail art migrate:fresh --seedPossible problems:
- Database not ready during migrate: Run
bash .config/bash/wait-for-db.shbefore migrations, or usemakewhich handles this automatically. - Sail: no such file or directory found: Solution 1, Solution 2
- Error: EACCES: permission denied, mkdir '/var/www/html/node_modules':
sudo chmod 777 -R nucleifyor Solution
🚀 Run
Root directory:
sail up -dPossible problems:
- Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use:
sudo service mysql stop
❓ Usage
Migrations
sail art migrate:fresh --seed
# Reset database by dropping all tables and then run all migrations
# --seed flag runs the database seeders after the migrationsFactories
sail tinker
# if you wish, you can specify count in factory() or attributes in create()
Article::factory(100)->create();
Contact::factory(100)->create();
User::factory(100)->create();
# for Spatie Activity model
Database\Factories\ActivityFactory::new()->count(100)->create();Tests
# run all tests
sail pest
# or specify group
sail pest --group=api
# defined tests groups:
api, activity-api, article-api, artisan-api, contact-api, sitemap-api, user-api,
database, feature, global, unit, commands, controllers, services, factories, migrations, models
# run all tests and check code coverage
sail pest --coveragesail pnpm run testspnpm
- Install packages -
sail pnpm install - Nuxt build -
sail pnpm run build - Run Biome -
sail pnpm run write - Run check -
sail pnpm run check - Run Stylelint -
sail pnpm run slint - Husky install -
sail pnpm run prepare:husky
Sitemaps
Generate XML sitemap
sail art sitemap:generateBefore contributing, please take a moment to read our CONTRIBUTING.md.
Feel free to check Issues section.
Your skills and expertise will directly contribute to the success of our project, helping us achieve our goals and create an attractive product.




