xref: /web-bugs/README.md (revision c424ea4c)
1# PHP Bug Tracking System
2
3This is a unified bug tracking system for PHP hosted online at
4[bugs.php.net](https://bugs.php.net).
5
6## Local installation
7
8* Install development dependencies with Composer:
9
10```bash
11composer install
12```
13
14* Configuration:
15
16Modify `local_config.php` according to your local development environment.
17
18* Database:
19
20Create a new MySQL/MariaDB database using `sql/database.sql`, create database
21schema `sql/schema.sql` and insert fixtures using `sql/fixtures.sql`.
22
23## Tests
24
25Application unit tests can be executed in development environment after
26installing dependencies by running `phpunit`:
27
28```bash
29./vendor/bin/phpunit
30```
31
32## Directory structure
33
34Source code of this application is structured in the following directories:
35
36```bash
37<web-bugs>/
38 ├─ .git/                   # Git configuration and source directory
39 ├─ config/                 # Application configuration parameters, services...
40 ├─ docs/                   # Application documentation
41 └─ include/                # Application helper functions and configuration
42    ├─ prepend.php          # Autoloader, DB connection, container, app initialization
43    └─ ...
44 └─ scripts/                # Command line development tools and scripts
45    ├─ cron/                # Various systems scripts to run periodically on the server
46    └─ ...
47 ├─ sql/                    # Database schema and fixtures
48 └─ src/                    # Application source code classes
49    ├─ Horde/               # https://www.horde.org/libraries/Horde_Text_Diff
50    └─ ...
51 ├─ templates/              # Application templates
52 ├─ tests/                  # Application automated tests
53 ├─ uploads/                # Uploaded patch files
54 ├─ var/                    # Transient and temporary generated files
55 ├─ vendor/                 # Dependencies generated by Composer
56 └─ www/                    # Publicly accessible directory for online bugs.php.net
57    ├─ css/                 # Stylesheets
58    ├─ images/              # Images
59    ├─ js/                  # JavaScript assets
60    └─ ...
61 ├─ composer.json           # Composer dependencies and project meta definition
62 ├─ composer.lock           # Dependencies versions currently installed
63 ├─ local_config.php        # Application configuration
64 ├─ local_config.php.sample # Distributed configuration example
65 ├─ phpunit.xml.dist        # PHPUnit's default XML configuration
66 └─ ...
67```
68
69## Contributing
70
71Issues with the application and new feature requests can be reported to
72[bugs.php.net](https://bugs.php.net) and discussed by sending message to the
73[webmaster mailing list](http://news.php.net/php.webmaster) to the address
74php-webmaster@lists.php.net.
75
76Application source code is located in the
77[github.com/php/web-bugs](https://github.com/php/web-bugs) repository.
78
79To contribute:
80
81```bash
82git clone git@github.com:your-username/web-bugs
83cd web-bugs
84git checkout -b patch-1
85git add .
86git commit -m "Describe changes"
87git push origin patch-1
88```
89
90A good practice is to also set the upstream remote in case the upstream master
91branch updates. This way your master branch will track remote upstream master
92branch of the root repository.
93
94```bash
95git checkout master
96git remote add upstream git://github.com/php/web-bugs
97git config branch.master.remote upstream
98git pull --rebase
99```
100
101## Documentation
102
103More information about this application can be found in the [documentation](/docs).
104