hipdevteam / social-wall
Fork of Social wall using as extesnion Ig Feed pro developerfor use with composer
This package is not auto-updated.
Last update: 2025-01-08 17:08:46 UTC
README
Contents
Installation
- Git clone the repository
git clone https://github.com/awesomemotive/social-wall.git
- Go to the root directory of the repository
cd social-wall
- Run
composer install
- Optional steps for development:
- Run
npm install
- Run
npm run build
- Run
npm run start
for watch mode
- Run
Project Architecture
Plugin Structure
Birdseye view of the plugin
Plugin Bootstrap Process
Folder Structure
assets/
├─ src/ ---------- React App ----------------
├─ js/ ---------- Vanilla JS / JQuery ------
├─ css/ ---------- Stylesheets --------------
build/
languages/
src/ ---------------- PHP App -----------------
├─ Cache/
├─ Core/ ---------- Plugin Core --------------
├─ Abstracts/
├─ Container/
├─ Exceptions/
├─ Interfaces/
├─ Traits/
├─ Frontend/
├─ Services/
FrontendProvider.php
├─ Admin/
├─ Services/
AdminProvider.php
├─ Models/
├─ Requests/
Activate.php
Bootstrap.php
Deactivate.php
PluginClass.php
...
tests/
├─ php/
Build Process
For build process, this plugin uses the npm package @wordpress/scripts. We can use extend the config and also have the control over the build process by creating our own webpack config.
Plugin Core
Dependency Injection Container
While there's some good solution DI container like PHP-DI 6 or thephpleague / container package, this plugin implemented its own simple yet powerful PSR 11 DI Container.
Services Provider
The plugin streamlines the process of registering services and injecting them into the plugin. The provider abstraction layer is responsible for registering services and putting them into the container.
Cache
The plugin uses its own cache abstraction layer to store the data from the Remote API for a period of time.
Other Dependencies
Unit Tests
This plugin uses phpunit for unit testing.
To run the unit tests, run composer phpunit
or vendor/bin/phpunit
in the root directory of the plugin.
Release Process
The plugin is released as a zip file. For the release process, this plugin uses custom script build.sh which takes care of building the plugin and bundling it into a zip file for release.
Other support
- Code style
- JS linting and formatting
- PHP Codesniffer
- PHP CBF
- Tailwind CSS