diff --git a/README.md b/README.md index 51ea5b2..89b131d 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,18 @@ -# 🚀 PHPulse +

+ PHPulse Logo +

+ +# PHPulse PHPulse is an experimental PHP framework designed specifically for constructing desktop applications. 🌐 While currently in its proof-of-concept stage, it's important to note that using PHPulse for production development is not recommended at this time. ## 🛠️ Supported Platforms - ✅ Windows -- ❌ Linux -- ❌ Mac OS +- ☑️ Linux (Limited Support) + some component are yet complete ref (TODO. builder/main.js ln:12) +- ❌ Mac OS (Very Limited Support) + some component are yet complete ref (TODO. builder/main.js ln:12) ## 🧰 Tools Utilized @@ -14,37 +20,84 @@ PHPulse is an experimental PHP framework designed specifically for constructing - Electron - NodeJS 18 LTS -## Getting Started +## 🚦 Project Overview + +PHPulse combines the power of PHP and Electron to create desktop applications efficiently. With the right configuration any app can be swiftly packaged + +The initial skeleton comes with a basic router to handle and designate http request to their respective allocations `public/router.php` which also the default entry of the application + +**Folder Structure** + +``` +📁 ProjectName +|-- 🛠 builder +| |-- 🖼 assets +| | |-- 🏗 build +| |-- 📜 main.js +| |-- 📄 config.json +| |-- 📦 package.json +| +|-- ⚙️ console +| |-- 🐘 engine.php +| |-- 🤖 helper.php +| +|-- 🌐 public +| +|-- 📦 vendor +| +|-- 📂 other-project-folder (php) +|-- 📄 other-project-files (php) +| +|-- 📄 .gitignore +|-- 📦 composer.json +|-- 📄 config.json +|-- 🚀 pulsar + +``` + +## 😎 Getting Started - Dowload the latest release from the release section -- Install electron builder +- Install electron packager ```bash - npm install -g electron-builder + npm install -g electron-packager ``` -- To test and debug ur build run +- Initialize your application ```bash - npm start + php pulsar init + ``` + + An interactive cli form will be displayed to configure your application details +- To test and debug ur app run + + ```bash + php pulsar serve ``` - To build the app run ```bash - npm run dist + php pulsar make ``` -## 🚦 Project Overview +## ✨ Using a custom project -PHPulse combines the power of PHP and Electron to create desktop applications efficiently. With support for Windows and future plans for Linux and Mac OS, it aims to provide a versatile platform for developers. +To use a custom/existing project or with frameworks like laravel, make sure you first import the composer packages used i.e `symfony/filesystem` , in your project then copy everything else to your project except the `public` folder, along with the composer folders to avoid your files being overwritten -## ⏱️ Development Timeline +Make sure to inialize your project `php pulsar init` and also change your `config.json: entry_point` and `config.json: entry_file` -This current implementation took approximately 36 minutes to develop. 🕒 +NOTE: Leave the `app` prefix in the `entry_point` and `entry_file` as it is. -So far I have thought of two effective ways to reimplement this projects which I am stil exploring. +## 🚧 Roadmap -The current version reflects **none** exploration of two reimplementations. Future developments will focus on refining and choosing the most efficient approaches that I am thinking of. +As the project evolves, it's important to note that the use `electron-packager` will be deprecated and more conventional electron packaging solutions like `electron-builder` or `forge` as it substitutes -## 🚧 Roadmap +- [ ] Migrating from packager to builder or forge +- [ ] Compressing php source to phar +- [ ] Custom inbuilt database +- [ ] PHP Code obfusications + +## Contributing -As the project evolves, it's important to note that the direct use of PHP binary files will undergo significant changes and will likely be removed to avoid any redundancies and application conflicts to the consumers machine. +All contributions, issues and feature requests are welcome! Feel free to check [issues page](https://github.com/ibnsultan/PHPulse/issues).