# vlw.se
This is the source code behind [vlw.se](https://vlw.se) which has been written from the ground up by me. This website is built on top of my [Vegvisir web framework](https://vegvisir.vlw.se) and my [Reflect API framework](https://reflect.vlw.se).

# Installation
If you for whatever reason want to get this website up and running for yourself this is how that is done.

## This website requires the following prerequisites
- [PHP 8.0+](https://www.php.net/)
- [MariaDB 14+](https://mariadb.org/)
- [The NPM package manager](https://www.npmjs.com/)
- [The Reflect API framework](https://reflect.vlw.se)
- [The Vegvisir web framework](https://vegvisir.vlw.se)
- [The composer package manager](https://getcomposer.org/)

**Confimed supported framework versions:**
Vegvisir|Reflect
--|--
✅ [`3.1.0`](https://codeberg.org/vegvisir/vegvisir/releases/tag/3.1.0)|✅ [`2.7.2`](https://codeberg.org/reflect/reflect/releases/tag/2.7.2)

## Website (Vegvisir)
1. **Download this repo**
   
   Git clone or download this repo to any local folder
   ```
   git clone https://codeberg.org/vlw/vlw.se
   ```
2. **Download and install Vegvisir**
   
   Follow the installation instructions for [Vegvisir](https://vegvisir.vlw.se/docs/installation) and point the `root_path` variable to your local vlw.se folder.

3. **Run the install script**

   This bash script will install dependencies and make npm modules public.
   ```
   ./install.sh
   ```

Et voila! You probably want to install the API-side too but the website itself should now be accessible from your configured Vegvisir host.

## API (Reflect)
The API (and database) is where most content is stored and served from on this website.

1. **Download this repo**

   **You can skip this if you've already downloaded the repo from step 1 in the website installation.**

   Otherwise... Git clone or download this repo to any local folder
   ```
   git clone https://codeberg.org/vlw/vlw.se
   ```

2. **Download and install Reflect**
   
   Follow the installation instructions for [Reflect](https://reflect.vlw.se/docs/installation) and point the `endpoints` variable to the `/api` subdirectory in the local vlw.se folder.

3. **Install dependencies**

   `cd` into the api folder and install dependencies with composer.
   ```
   composer install --optimize-autoloader
   ```

4. **Create and import database**

   [Create and] import the two databases associated with vlw.se data and the Reflect API configurations from `.sql` files on the Releases page.

5. **Set environment variables**

   Make a copy of `/api/.env.example.ini` and change the `[vlwdb]` variables with your MariaDB credentials.

6. **Set environment variables for website**

   It's reasonable to assume if you've installed the website from this repo that you'd also want to use the API with it. Start my making a copy of `/.env.example.ini` (root directory) and change the `[api]` variables to point to your API hostname.
