Welcome to the Project Name repository! This document provides guidelines on how to contribute to this project and set up your local development environment.
We welcome contributions from the community! Follow the steps below to contribute to this project.
-
Fork the repository by clicking the "Fork" button at the top right of this page.
-
Clone your forked repository to your local machine:
git clone https://github.com/your-username/rinchen.org.git
-
Change directory to the project:
cd rinchen.org
-
Add the original repository as a remote:
git remote add upstream https://github.com/xmnlab/rinchen.org.git
-
Create a new branch for your feature or bug fix:
git checkout -b my-feature-branch
-
Make your changes and commit them:
git add . git commit -m "Description of changes"
-
Push your changes to your forked repository:
git push origin my-feature-branch
-
Visit your forked repository on GitHub.
-
Click on the "New Pull Request" button.
-
Set the base repository to the original repository and the base branch to the branch you want to merge your changes into.
-
Review your changes and click "Create Pull Request."
To work on this project locally, follow these instructions to set up your development environment.
- PHP (version >= 8.1)
- Composer
-
Install Composer (if not already installed): Composer Installation Guide
-
Clone the repository to your local machine (if you haven't already):
git clone https://github.com/your-username/rinchen.org.git
-
Change directory to the project:
cd rinchen.org
-
Install project dependencies using Composer:
composer install
Ensure that the following PHP extensions are enabled in your php.ini configuration file:
mbstring
dom
You can enable these extensions by modifying your php.ini file:
-
For Ubuntu/Debian:
sudo nano /etc/php/8.2/cli/php.ini
-
For CentOS/RHEL:
sudo nano /etc/php.ini
-
For macOS with Homebrew:
sudo nano /usr/local/etc/php/8.2/php.ini
Uncomment the lines for mbstring
and dom
extensions by removing the
semicolon (;
) at the beginning of the lines:
extension=mbstring
extension=dom
Save the changes and restart your web server or PHP-FPM service:
-
For Apache:
sudo service apache2 restart
-
For Nginx:
sudo service nginx restart
-
For PHP-FPM:
sudo service php8.2-fpm restart
To set up the Conda environment for this project, use the following commands:
# Create the Conda environment from the provided YAML file
mamba env create -n conda/dev.yaml
# Activate the Conda environment
conda activate rinchen
We use Makim for automation tasks. Here are some common tasks:
To run the server application, use the following Makim command:
makim dev.runserver
This command will start the PHP server with the appropriate environment variables.
To run the PHPUnit tests, use the following Makim command:
makim dev.tests
This command will execute PHPUnit tests located in the specified test file.
TBD
This project is licensed under the MIT - see the LICENSE.md file for details.
It would be nice to have it using Lavarel: https://laravel.com/docs/10.x But it would require some work on the server side as well.
Or, if it would be possible, it would be better to have it using Python with Django. But it would also depends on the server infrastructure.