Skip to content

App permitting the online payment of admission/study/dorm taxes within the University of Bucharest

Notifications You must be signed in to change notification settings

UniBuc-DITC/taxes-payment-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Taxes Payment App

Description

This app enables the online payment of admission/accomodation/study taxes at the University of Bucharest.

Built with

Development instructions

Dependencies

You need to have the latest stable versions of Node.js and npm installed.

If it is the first time you're running the app, you will have to install all of the required package dependencies by running npm install in the root directory.

Database setup

The app requires a PostgreSQL database to be available. The easiest way to spin up one locally is by installing Docker and then running:

docker compose up

Prisma is our chosen ORM. Some useful commands:

  • To use the Prisma CLI with the development database:

    npm run prisma
  • To initialize the database, or to push changes without creating a migration:

    npm run prisma:push
  • To synchronize the database and create a migration:

    npm run prisma:migrate --name "migration name"
  • To generate or update the Prisma client:

    npm run prisma:generate

    This step is required after every schema change, because the Prisma client is dynamically generated and stored in a subdirectory of the node_modules folder, which is not commited into version control.

  • To seed the database with some fake data for development purposes:

    npm run seed:dev

Authentification config

The app uses NextAuth.js to provide support for authentication using Microsoft Entra ID (formerly Azure AD). In development, you have to create a .env.local file in the root directory and define the following environment variables:

AZURE_AD_CLIENT_SECRET=<client secret created for app>

ReCAPTCHA config

The app utilizes Google ReCAPTCHA v2 Checkbox. In development, please add the following keys to your .env.local file:

NEXT_PUBLIC_RECAPTCHA=<The site/public key>
RECAPTCHA_SERVER=<Your private key for verifying the reCAPTCHA token>

Useful development commands

To start a local development server, use:

npm run dev

To format the code automatically using Prettier, use:

npm run format

To check for code issues using ESLint, run:

npm run lint

Deployment instructions

The following environment variables must be defined for the app to function properly:

NEXTAUTH_URL=<app's canonical base URL>
NEXTAUTH_SECRET=<cryptographically secure secret key, to be used for encryption>
AZURE_AD_TENANT_ID=<ID of tenant in which app resides>
AZURE_AD_CLIENT_ID=<client ID of app registration>
AZURE_AD_CLIENT_SECRET<client secret created for app>
NEXT_PUBLIC_RECAPTCHA=<The site/public key>
RECAPTCHA_SERVER=<Your private key for verifying the reCAPTCHA token>

About

App permitting the online payment of admission/study/dorm taxes within the University of Bucharest

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages