Installation

How to Install and Configure the Application

Table of Contents


Docker

Docker installation is currently recommended for production use only, not for development, as the project files are copied into the container. Ensure you have Docker installed: 👉 Install Docker

Preparation

Edit the .env.docker file and make sure all values are properly set—none should be left blank. This file serves as the source of environment variables within the container.

To enable AI integration, fill in the GEMINI_API_KEY. You can obtain this key by following the instructions on Google AI for Developers.

Compose

To build the image for the first time, run:

docker compose up -f docker-compose.prod.yml -d --build

For subsequent runs, you can omit the --build flag:

docker compose up -f docker-compose.prod.yml -d

Once running, access the app at http://localhost. Use the default account to log in.

If you encounter any errors, please report them.


Manual Setup

Ensure the following are installed:

Install Dependencies

Run the following command:

composer install && npm install

After successful execution, you should see vendor and node_modules folders. If not, try again or report the issue.

Environment Configuration

Generate the .env file and application key:

cp .env.example .env && php artisan key:generate

Then, edit the .env file and configure the following values:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=charon
DB_USERNAME=<YOUR_USERNAME>
DB_PASSWORD=<YOUR_PASSWORD>
GEMINI_API_KEY=<YOUR_GEMINI_API_KEY>

To enable AI features, ensure the GEMINI_API_KEY is provided. Follow this guide to obtain the key.

Database Migration

To set up the database schema and initial data:

php artisan migrate --seed

(Optional) To generate dummy data:

php artisan db:seed --class=DummySeeder

Running the Application

Use three separate terminals and run the following commands in each:

php artisan serve      # Starts the web server
php artisan queue:work # Starts the background job worker
npm run dev            # Builds and watches the frontend

Visit http://localhost:8000 to access the application. Use the default account to log in.

Make sure all three processes remain running during development.

Production Guide

In a production environment, you don’t need to run the three development commands. Instead, use the following setup:

Development Command
Production Equivalent

php artisan serve

Use a web server such as nginx or Apache

php artisan queue:work

Use supervisor or a process manager

npm run dev

Run npm run build for optimized assets


Login Credentials

You can use the following default account to log in:

  • Email: iqbaleff214@gmail.com

  • Password: password


Reporting Issues

If you encounter any errors or problems, feel free to:

Last updated