Skip to content

Dropheart/scouts-finance

Repository files navigation

Scouts Finance

Scouts Finance is a project designed to help leaders and treasurers manage their finances and keep track of income and expenses for scouting activities.

Features

  • Create and manage events
  • View and categorise payments

Getting Started

Prerequisites

  • Dart SDK
  • Flutter SDK
  • Serverpod SDK
  • Docker

It is recommended to install the Flutter SDK using the Flutter installation guide.

Running

  1. Start the PostgreSQL and Redis services using Docker:

    docker compose up --build --detach
  2. Start the Serverpod server:

    dart bin/main.dart
  3. Run the Flutter application on your target of choice:

    flutter run

Warning

If you are running the server for the first time, pass the --apply-migrations flag to apply the database migrations.

Stopping the Services

To stop the Serverpod server, press Ctrl-C in the terminal where it is running. Then, stop the PostgreSQL and Redis services:

docker compose stop

Documentation

For more information on how to use Serverpod, refer to the Serverpod documentation.

Development

Environment Secrets

To access the dev servers (like the pg server) you will need to populate the (missing) passwords.yaml file in the scouts-finances_server directory.

Please ask a developer for the required secrets.

Caution

This file is in .gitignore and should not be committed to the repository. Do not try to commit this file.

Client Code Generation

The code beneath scouts-finances_client is generated by the Serverpod CLI. To regenerate the code, run:

serverpod generate

You will need to do this each time you change the server code, for example when you add a new endpoint.

The generated boilerplate allows you to call the server endpoints from the client side with dart integration for type safety and autocompletion.

Database Migrations

If you modify the database schema, you will need to create a migration file. To create a migration file, run:

serverpod create-migration

This will create a new migration file in the migrations directory.

Before the migration takes effect, you will need to apply it by running:

dart bin/main.dart --apply-migrations

when running the server for the first time.

For more information, including on how to repair migrations, refer to the official documentation.

Tip

If you are getting database errors such as relation "table_name" does not exist, it is likely that you have not applied the migrations.

About

Scout Finance organisation app for DRP

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •