Skip to content

Application for the Preventive Financial Control office

License

Notifications You must be signed in to change notification settings

UniBuc-DITC/preventive-financial-control-app

Repository files navigation

Application for the Preventive Financial Control office

Description

This repository contains the source code for the web app used by the Preventive Financial Control office of the University of Bucharest. It is built using the Ruby on Rails framework.

Development environment setup guide

For development we recommend using an IDE such as Visual Studio Code (see this guide for enabling Ruby support) or RubyMine.

Installing Ruby and Node.js

First, you need to have Ruby installed. Check the .ruby-version file to determine which version you need. On Windows, you can get it by downloading Ruby Installer. On Mac OS or Linux, we recommend managing your Ruby install through rbenv.

Check that Ruby got successfully installed by running the following command in a terminal:

ruby --version

You will also need to have Node.js installed for the compression step of the asset pipeline.

Check that Node.js is installed by running the following command:

node --version

Installing native libraries

You will need to install a few native libraries required by some of the dependencies.

If using RubyInstaller for Windows, run the following command in a terminal running as administrator:

ridk exec sh -c 'pacman -S ${MINGW_PACKAGE_PREFIX}-postgresql'

For Ubuntu or Debian, run:

sudo apt install libpq-dev

Installing dependencies

Once you have Ruby and Node.js on your machine, you can install the package dependencies by running bundle install in the project's root directory.

Configuring API credentials

The app relies on Microsoft Entra ID for authentication. You will have to create an app registration on the Microsoft identity platform to be able to sign in.

You can edit the (encrypted) credentials file by running:

rails credentials:edit

then add a section with the following structure:

# Credentials for Microsoft Entra ID
microsoft_identity_platform:
  tenant_id: <tenant ID>
  client_id: <client ID>
  client_secret: <client secret>

Starting the database

The app needs to connect to a PostgreSQL instance to use as a database.

Assuming that you've got Docker and the Docker Compose plugin installed, you can run the following command to start a local Postgres instance:

docker compose up

Starting the development server

Start a local development server by running rails server. The app will be available in your browser at http://localhost:3000/.

License

The code is licensed under the permissive MIT license.

About

Application for the Preventive Financial Control office

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published