🛠ī¸Local development

Get a local saaster development environment running

Whether you're looking to contribute to saaster or build your own SaaS application, you'll need a development environment. We recommend using the dockerized development environment provided by saaster. The following guide will take you through the steps to set up your development environment and get you ready to start building.

Prerequisites

Windows:

  • WSL2 with any Distrobution for example: Ubuntu In Docker Desktop enable WSL Integration with the distro you choosed.

  • make (Install in WSL2 distro)

Linux:

  • Docker

  • Docker Compose

  • make

MacOS:

Setup

Clone the repository

git clone https://github.com/PAWECOGmbH/saaster

Config files

You can find some example config files in the "configs" folder of the repository. Copy them to the root directory of the application and rename them as followed:

config/example.cfconfig.json   ->   /.cfconfig.json
config/example.env             ->   /.env
config/example.server.json     ->   /server.json
config/example.config.cfm      ->   /config.cfm

These files should work out of the box. You can obviously change the values of these configs to your liking.

Start the application

Now you can start the application. Open any console* in the root application directory and execute the following commands:

*On Windows you need to use the WSL distro to use make. The filesystem of Windows is normally mounted under /mnt on your WSL system.

make

This will output all possible commands:

Makefile commands:
dev                     -> creates the local development environment      
reinit                  -> reinites the database
seed                    -> seeds certain sql files
clean                   -> removes full application with all containers
url                     -> outputs all importent URL's of the application

Now enter make dev and let the application build. If everything worked out, then it should display the URL's:

------------------------------------------------------
Saaster: http://localhost/login
Mailslurper: http://localhost:9000
Lucee Admin: http://localhost/lucee/admin/server.cfm
------------------------------------------------------

Seeding MySQL files

In the directory db/dev you find some SQL files. These files provide you with example data and basic configuration for saaster.

To execute these files, use the following make command:

make seed

Then enter the number of the sql file you would like to seed.

[1] create-plans.sql   
[2] create-widgets.sql 
[3] create-sysadmin.sql
[4] create-modules.sql 
Choose a number: 3

We recommend using this scripts in your local development environment. The create-sysadmin scripts adds an account with following credentials:

User

admin@saaster.io

Password

testtest

Rebuild database

To completly rebuild the database, you can use the make target reinit. This command rebuilds the complete MySQL container and executes all the scripts in the db/init directory.

make reinit

Mockdata

If you need some customers or invoices while developing, you can make use of the mockdata generator we implementet.

You can access it under /setup/mockdata/index.cfm

Last updated