VG-Creator is a easy to use CMS solution for creating and managing your own videogames blog. It is a SAAS solution like Wix or Wordpress but with a lot of extra features and mainly focused on videogames related content.
In this project, we were asked to create a CMS from scratch using PHP and no javascript librairies except for jQuery or Graph and WYSIWYG editor. We also wanted to create a simple and clean interface that would be easy to use. We also wanted to create a SAAS application that would be easy to use and easy to manage.
-
Getting Started
-
Download & Prerequisites
-
Contribute
-
Donations
We were asked to implement a few design pattern to make our code more readable and maintainable. We used the following ones:
- Singleton > Core/Sql.class.php (line 36) Mandatory for the project to keep a unique connection to the database.
- Singleton > Core/Routing/Router.class.php (called in Route.php line 8) To make a SASS solution, it is essential for the framework to have a single instance of a Router object.
- Builder > Core/QueryBuilder to simplify the creation of queries and make the code more readable, it is called every time we use SQL. (to decide which query builder is used, you have to refer to the conf.inc.php file).
- Factory > Core/Oauth (called User.class.php in line 393) to implement an Oauth solution, we decided to use this design pattern to generate Oauth providers.
- Observer > Core/Observer (initialized in index.php at line 32 and used in Core/Main.class.php, line 26) notifies all newsletter subscribers using a dispatcher and a listener.
Installing Docker
Make sure that you have a recent version of Docker, this project is built with docker containers and it is recommended to have a recent version of docker before running this project.
You can download the latest version of docker from Docker Hub or using the command below.
sudo apt-get install docker-ce
You may check your Docker version by running:
docker --version
Installing dependencies
There is no hard requirement to run this project, but it is recommended to compile the SCSS stylesheets using the command below.
sass --watch src/scss:www/dist/css
If you want to help us improve VG-Creator here's what you can do:
- Submit bugs and feature requests, and help us verify as they are checked in
- Review source code changes
If you are interested in fixing issues and contributing directly to the code, please join our discord or join us on our social medias ✨
You may support this project via ❤️️ GitHub.