Skip to content

System developed in Laravel using MVC structure to manage input and output expenses, and monthly and annual reports in PDF

License

Notifications You must be signed in to change notification settings

ARCANGEL0/FlowManager

Repository files navigation


FlowManager 💲

Financial dashboard to manage subscriptions, incomes and outcomes, monthly and annual report and info

License: AGPL v3 Views Stars Watchers Forks

၊၊||၊||၊
English Français Português

This project was made for the Sea Scouts 77GEMAR Jair Mattenauer Silveira located in SP/Brazil, a financial dashboard to manage scouts subscription.. along with their website

Project Description

FlowManager is a comprehensive financial management dashboard built using Phinx. It provides secure login authentication and a user-friendly interface for managing monthly subscriptions, tracking payments, and displaying client/subscriber information. The dashboard also enables users to control their data, handle monthly and annual finances, access financial statistics, and generate detailed reports for specific months or years.

Table of Contents

Installation

Firstly, verify if you have PHP and Phinx installed in your device. Clone the repo to your preferred location, and edit the Phinx and database configuration files for your database data

    git clone https://github.com/ARCANGEL0/FlowManager.git
    cd FlowManager
    nano phinx.php
    nano database.php

On phinx.php, edit the phinx configuration based on your SQL database

FlowManager ' => [
            'adapter' => 'mysql',
            'host' => '',
            'name' => '', // database Name || nome do Banco de dados, é preciso já existir um banco com esse nome
            'user' => '',
            'pass' => '',
            'port' => '3306',
            'charset' => 'utf8',
        ],

And then edit global variables for the project on database.php:

<?php

// Define your database connection details as global variables
// Définissez les détails de votre connexion à la base de données en tant que variables globales
// Defina as variaveis de conexao aqui
// 
$GLOBALS['sql'] = array(
    'host' => 'your_host',
    'db' => 'your_database_name',
    'user' => 'your_username',
    'pass' => 'your_password'
);

?>

and last but not least, models/db.php:

Class db {
	
	private $maquina = "";
	private $user = "";
	private $password ="";
	private $db = "";

Usage

Make sure you've created a database to be used for the system Run the migrations to generate the tables and data in the database you want.

    vendor/bin/phinx migrate -e flowManager
    vendor/bin/phinx seed:run -e flowManager

Make sure to add an entry to Administradores in your database, and use as your login. Then run the local server in the root folder however you prefer.

 php -S localhost:8000 -t . 

  or

 symfony server:start

Getting Started

This section provides a high-level quick start guide, explaining project structure, functions and processes.

Project Structure

The project follows Model-View-Controller structure, divided by folders.

|- Models 
|    |- Outcomes
|    |- Incomes
|    |- Users
|    |- Admin
|    ╰─ Database
|- Controllers
|    |- AdministradorControl
|    |- OutcomesControl
|    |- SubscriptionsControl
|    |- UsuariosControl
|    |- db
|    |  ╰─ Controllers to fetch SQL Data
|    |- login
|    |  ╰─ Controllers to handle login
|    ╰─ data
|        ╰─ Controllers to handle CRUD methods
 ╰─ Views
      |- Dashboard
      |- Users
      |- Subscriptions page 
      ╰─ Incomes and outcomes

Functions and methods

In this project, there's a Users model to handle clients data

Create users and manage their data Set category, scout rank or whatsoever (To-do) Update and delete Data

A subscription model

Establish monthly payment value Control payments per month, toggle paid or not subscriptions See current month balance by subscription

A money control model

Manage incomes and outcomes by month or year Check current balance based on past month Generate reports with all money transactions (not present in this repo)

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Please see the LICENSE file in the repo for the full text.

Like many open source projects, it is required that contributors provide a Contributor License Agreement (CLA). By submitting code used, you are granting the right to use that code under the terms of the CLA.


Buy Me a Coffee at ko-fi.com
    Happy Coding ❤️

🔝

Releases

No releases published

Packages

No packages published

Languages