https://github.com/proohit/accountingapp
App for maintaining personal balances of wallets. Runs with MySQL, NextJS and TypeORM
https://github.com/proohit/accountingapp
accounting mysql nextjs reactjs typeorm typescript
Last synced: 4 months ago
JSON representation
App for maintaining personal balances of wallets. Runs with MySQL, NextJS and TypeORM
- Host: GitHub
- URL: https://github.com/proohit/accountingapp
- Owner: proohit
- Created: 2021-04-21T18:15:17.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-06-03T02:16:54.000Z (about 3 years ago)
- Last Synced: 2023-06-03T03:21:46.169Z (about 3 years ago)
- Topics: accounting, mysql, nextjs, reactjs, typeorm, typescript
- Language: TypeScript
- Homepage:
- Size: 5.89 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# AccountingApp
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.
## Configuration
Copy `.env.template` files in frontend and backend to `.env` respectively and fill in the values.
### Backend
The backend server is configured via environment variables. The following variables are available:
```env
SESSION_SECRET=
DATABASE_URL=
PORT=
```
### Frontend
The frontend is configured via environment variables. The following variables are available:
```env
NEXT_PUBLIC_BACKEND_HOST=
```
## Building
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:
```bash
npm run build:shared
```
After that, the backend can be built with the following command:
```bash
npm run build:backend
```
And the frontend can be built with the following command:
```bash
npm run build:frontend
```
## Development
Before starting the application, the shared package needs to be built. To do so, run the following command in the root folder:
```bash
npm run build:shared
```
After that, start backend and frontend in development mode in different terminals with the following commands:
```bash
npm run start:dev:backend
npm run start:dev:frontend
```