Transform your daily tasks into a harmonious adventure. Questify blends RPG game mechanics with AI to help maintain a healthy life rhythm—boosting productivity while supporting your well-being.
-
Linux with installed Docker (or Windows with some additional configuration) Docker Guide
-
Bash shell
-
GNU Make 4.x
-
PHP 8.2 with modules:
- xml
- curl
- zip
- cli
-
Composer 2.5.x
-
Node.js & npm
-
Git installed
To install all dependencies on Debian/Ubuntu with apt
sudo apt update
sudo apt install -y make php php8.2-cli php8.2-xml php8.2-curl php8.2-zip composer npm git- Add yourself to docker group, to run containers without sudo (you can follow guide linked above)
sudo usermod -aG docker $USERLogout and login to apply changes, or run:
newgrp dockerNow make sure you can run commands without sudo
docker run hello-world2.Clone this repository and go to main directory:
git clone https://github.com/krzysztofkozyra021/Questify.git3.Prepare app environment file:
cp .env.example .envOr, if you have all dependencies and are using Linux:
make initonly if you have every dependency installed (and running Linux)
Note
This command builds Docker containers, starts them, and initializes the environment.
4.After make init is completed, stop the containers with command:
make stop5.Switch to branch develop
git checkout develop6.Install all frontend and backend dependencies with:
npm install
composer install7.Open a shell in the app container:
make shell8.Run commands, migrations and seed the database:
php artisan filament:install
php artisan migrate:fresh --seed
exit9.Start the development server:
make devApp will be available at localhost:63851
Before running any of the commands below, you must run shell:
make shell| Command | Task |
|---|---|
composer <command> |
Composer |
composer test |
Runs backend tests |
composer analyse |
Runs Larastan analyse for backend files |
composer cs |
Lints backend files |
composer csf |
Lints and fixes backend files |
php artisan <command> |
Artisan commands |
npm run dev |
Compiles and hot-reloads for development |
npm run build |
Compiles and minifies for production |
npm run lint |
Lints frontend files |
npm run lintf |
Lints and fixes frontend files |
npm run tsc |
Runs TypeScript checker |
| Make | Task |
|---|---|
init |
Initializes project by checking env file, building containers, running them and setting up test database |
build |
Builds Docker containers |
run |
Starts Docker containers in detached mode |
stop |
Stops running Docker containers |
restart |
Restarts Docker containers |
shell |
Opens bash shell in app container as current user |
shell-root |
Opens bash shell in app container as root |
test |
Runs backend tests |
fix |
Lints and fixes backend files |
analyse |
Runs Larastan analysis for backend files |
dev |
Runs frontend development server |
queue |
Starts Laravel queue worker |
create-test-db |
Creates test database |
Thanks to @blumilksoftware for their boilerplate laravel configuration
| service | container name | default host port |
|---|---|---|
app |
Questify-app-dev |
63851 |
database |
Questify-db-dev |
63853 |
redis |
Questify-redis-dev |
63852 |
mailpit |
Questify-mailpit-dev |
63854 |