Accounting App is a project which helps to keep an overview of balances of personal wallets. It consists of a web application powered by NextJS, React, MUI and Recoil and a backend server powered by NestJS, TypeORM and MySQL.
Copy .env.template
files in frontend and backend to .env
respectively and fill in the values.
The backend server is configured via environment variables. The following variables are available:
SESSION_SECRET=
DATABASE_URL=
PORT=
The frontend is configured via environment variables. The following variables are available:
NEXT_PUBLIC_BACKEND_HOST=
The project is structured as a Monorepo. It includes a shared package, that handles shared code between the frontend and the backend. The frontend and backend are located in the frontend
and backend
folders respectively. The shared package is located in the shared
folder.
For both backend and frontend to work, the shared package needs to be built first. To do so, run the following command in the root folder:
npm run build:shared
After that, the backend can be built with the following command:
npm run build:backend
And the frontend can be built with the following command:
npm run build:frontend
Before starting the application, the shared package needs to be built. To do so, run the following command in the root folder:
npm run build:shared
After that, start backend and frontend in development mode in different terminals with the following commands:
npm run start:dev:backend
npm run start:dev:frontend