Fogproject

An open source computer cloning & management system

Full Stack Web DevelopmentPHPGPL-3.0

Abstract

Fogproject is an open-source Full Stack Web Development project. An open source computer cloning & management system. FOG uses a versioning schema that follows the general principles of semantic versioning with some adjustments to fit the development lifecycle. You can find the automatic release workflows in the fog-workflows repo [](https://github.com/FOGProject/fog-workflows/actions/workflows/stable-releases.yml). It is built using PHP. The complete source code is publicly available on GitHub under the GNU General Public License v3.0, making it a useful reference for students building a Full Stack Web Development mini project or final-year project.

1. Introduction

FOG uses a versioning schema that follows the general principles of semantic versioning with some adjustments to fit the development lifecycle. You can find the automatic release workflows in the fog-workflows repo [](https://github.com/FOGProject/fog-workflows/actions/workflows/stable-releases.yml)

This gives us a Production, Staging, and Dev branches to follow standard devops practices.

See also: Version Sync Automation for how FOG_VERSION/FOG_CHANNEL are kept in sync with git state on each branch.

2. Objective

An open source computer cloning & management system

This project demonstrates how PHP can be applied to a real-world Full Stack Web Development problem.

4. Technology Stack

PHP

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • PHP 7.4+ with a web server (XAMPP / WAMP / LAMP)
  • MySQL / MariaDB
  • phpMyAdmin (optional)
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/FOGProject/fogproject.git
cd fogproject
  1. Install and update your linux server distro
  2. Download the installation file(s)
  3. All that is needed to start installation is to download the files to perform the install. Choose one of the following methods you prefer;
  4. ZIP archive wget https://github.com/FOGProject/fogproject/archive/stable.zip; unzip stable.zip
  5. TAR/GZ archive wget https://github.com/FOGProject/fogproject/archive/stable.tar.gz; tar xzf stable.tar.gz
  6. git git clone https://github.com/fogproject/fogproject.git fogproject-stable
  7. Run the install script as root and follow all prompts accordingly
  8. You should now be ready to use FOG
sudo -i
cd /path/to/fogproject-stable/bin
./installfog.sh
sudo -i
cd /path/to/fogproject-dev-branch/bin
./installfog.sh

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add role-based access control
  • Deploy on a VPS or cPanel hosting with a custom domain
  • Add automated tests and a CI pipeline

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Explain the frontend, backend and database layers of this application.
  2. How is user authentication and authorisation implemented?
  3. Describe the main database tables / collections and their relationships.
  4. Which REST APIs or routes are exposed and what do they return?
  5. How would you deploy this application to production?

9. Source Code & License

This project is developed by FOGProject and published on GitHub under the GNU General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Full Stack Web Development project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Full Stack Web Development Internship