Skip to content
This repository was archived by the owner on Apr 4, 2025. It is now read-only.

KA-Huis/space-management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo Core Application

Integration Tests Status

Core web application of youth building KA-Huis in Posterholt, The Netherlands.

Introduction

This repository contains the core web application of the KA-Huis. A youth building located in Posterholt, The Netherlands fully run by volunteers. This application serves as an internal tool to improve processes and realtime availability of information. It's build in PHP with the popular Laravel framework. This application is responsible for multiple services. It contains at this moment the web application interface and a generic purpose REST API (used for example by the mobile application Repair Tool). Both reuse the same core and domain logic.

Technical overview

System Infrastructure Overview

Local Installation

Docker

This project contains a preconfigured Docker setup to easily get this project locally running. Although it's heavily advised to use this Docker setup, because it matches production as much as possible it's not required. We do however not accept code changes to support other setups.

Services

  • php: Core application
  • nginx: NGINX server
  • mariadb: MySQL database
    • Database: sm
    • Root password: root
    • Username: sm
    • User password: sm
    • Exposed port: 34030
  • redis: Cache data store
  • mailhog: Local e-mail testing tool to catch sent e-mails
    • URL: https://mailhog.space-management.localhost

Traefik - reverse proxy

In order to easily redirect local requests to the localhost domain of this project, we use Traefik a reverse proxy. Make sure it's running. Follow the installation steps at KA-Huis/traefik-gateway.

Setup script

All the installation steps are added to the ./setup.sh script to automate the process. This makes sure every necessary step is executed in the right order. Shell scripts can be run on macOS and Linux. In case you're using windows, you could use WSL (Windows Subsystem for Linux).

Run the ./setup.sh script every time you want to have a fresh setup of this project.

After the initial setup has been run once, the next time you want start the service you can run docker-compose up -d.

Running commands in the environment

In order to run commands, you will have to SSH into the php service container:

docker-compose exec php sh

After that you can for example run Laravel artisan commands (php artisan list).

Seeded data

User accounts

A small list of user accounts are already automatically created by the database seeder which you can use to easily get access to the admin portal.

First Name Last Name E-mailaddress Password Role
Cyril de Wit [email protected] Welkom0! To be created
Jasper Stolwijk [email protected] Welkom0! To be created
Mitch Kessels [email protected] Welkom0! To be created
Enno Overbeeken [email protected] Welkom0! To be created

Branching model

  • Branch production: This branch will be used to build an artefact that can be deployed to the production environment.
  • Branch acceptance: This branch will be used to build an artefact that can be deployed to the acceptance environment.

The acceptance branch should always be production ready. That means it should not be used to test code on the environment. When the product owner approves a ticket after testing it on the acceptance environment, we will be able to create a release branch and merge it to production.

Branch naming convention when working on tickets:

  • feature/: When the ticket is about introducing a new feature. Include a GitHub issue reference when possible.
  • bugfix/: When the code change fixes a bug.
  • hotfix/: When something is broken on production and should immediately be fixed. This can go straight to the production branch.

All work branches branch off from the producion branch to make branches independent of each other, meaning they will not block each other. Working branches can also branch of from other ticket branches, when they dependent on each other.

Credits

See also the list of contributors who participated in this project.

Changelog

Please see CHANGELOG for more information on what has changed recently.

License

Copyright (c) KA-Huis. All rights reserved.

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Releases

No releases published

Packages

No packages published