diff --git a/pages/docs/contribution-handbook/development-environment.mdx b/pages/docs/contribution-handbook/development-environment.mdx new file mode 100644 index 00000000..1752992c --- /dev/null +++ b/pages/docs/contribution-handbook/development-environment.mdx @@ -0,0 +1,91 @@ +--- +title: Setting up your Development Environment +--- + +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { faCodeBranch, faLaptopCode } from '@fortawesome/free-solid-svg-icons' +import { Callout } from 'nextra-theme-docs' + +# Setting up your Development Environment + +}> + This guide walks you through the steps to set up your development environment for FOSSBilling. You need to have basic knowledge of using the command line. + + +Setting up a conducive development environment is essential for a smooth and efficient workflow. This guide will walk you through the steps to set up your development environment for FOSSBilling. + +## Cloning the Repository + +First, clone the FOSSBilling repository: + +```bash +git clone git@github.com:FOSSBilling/FOSSBilling.git +``` + +Then, navigate into the FOSSBilling directory: + +```bash +cd FOSSBilling/ +``` + +Navigate into the src directory: + +```bash +cd src/ +``` + +Copy the sample configuration file to create a new one: + +```bash +cp config-sample.php config.php +``` + +Go back to the main FOSSBilling directory: + +```bash +cd .. +``` + +## Installing the Required PHP Packages + +Install the necessary PHP packages using the following command: + +```bash +sudo apt-get install php8.2-cli php8.2-common php8.2-gd php8.2-curl php8.2-dom php8.2-zip php8.2-mbstring php8.2-cli php8.2-xml php8.2-tokenizer +``` + +You can confirm the PHP version with: + +```bash +php -v +``` + +## Installing Composer + +Install composer using these commands: + +```bash +php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" +php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" +php composer-setup.php +php -r "unlink('composer-setup.php');" +```bash + +## Updating Dependencies + +Next, update the project dependencies: + +```bash +./composer.phar update +``` + +## Running Tests + +Run the tests to ensure everything is set up properly: + +```bash +src/vendor/phpstan/phpstan/phpstan +src/vendor/phpunit/phpunit/phpunit +``` + +Congratulations, your development environment is now set up and ready! \ No newline at end of file