finance-api/
├── src/
│ ├── config/ # Configuration files
│ │ ├── database.ts # Database connection config
│ │ ├── env.ts # Environment variables config
│ │ └── logger.ts # Logger configuration
│ ├── controllers/ # Request handlers
│ │ ├── auth.controller.ts # Authentication controller
│ │ ├── transaction.controller.ts
│ │ ├── budget.controller.ts
│ │ ├── goal.controller.ts
│ │ └── notification.controller.ts
│ ├── middlewares/ # Custom middleware
│ │ ├── auth.middleware.ts # Authentication middleware --
│ │ ├── error.middleware.ts # Error handling middleware
│ │ ├── validator.middleware.ts # Request validation middleware --
│ │ └── upload.middleware.ts # File upload middleware
│ ├── models/ # Database models
│ │ ├── user.model.ts
│ │ ├── transaction.model.ts
│ │ ├── budget.model.ts
│ │ ├── category.model.ts
│ │ ├── goal.model.ts
│ │ └── notification.model.ts
│ ├── routes/ # API routes
│ │ ├── auth.routes.ts
│ │ ├── transaction.routes.ts
│ │ ├── budget.routes.ts
│ │ ├── goal.routes.ts --
│ │ ├── notification.routes.ts --
│ │ └── index.ts # Route aggregator
│ ├── services/ # Business logic
│ │ ├── auth.service.ts
│ │ ├── transaction.service.ts
│ │ ├── budget.service.ts
│ │ ├── goal.service.ts
│ │ ├── notification.service.ts
│ │ └── export.service.ts # Excel export service
│ ├── utils/ # Utility functions
│ │ ├── excel.util.ts # Excel generation utilities
│ │ ├── passwordHash.util.ts # Password hashing utilities --
│ │ └── date.util.ts # Date manipulation utilities --
│ ├── types/ # TypeScript type definitions
│ │ ├── express.d.ts # Express extensions
│ │ ├── user.types.ts --
│ │ ├── transaction.types.ts --
│ │ └── request.types.ts --
│ ├── app.ts # Express app setup
│ └── server.ts # Server entry point
├── tests/ # Test files --
│ ├── unit/ # Unit tests
│ ├── integration/ # Integration tests
│ └── fixtures/ # Test fixtures
├── uploads/ # File upload directory --
├── .env # Environment variables
├── .env.example # Example env file
├── .gitignore # Git ignore file
├── .eslintrc.js # ESLint configuration --
├── .prettierrc # Prettier configuration --
├── jest.config.js # Jest configuration --
├── nodemon.json # Nodemon configuration --
├── package.json # Project dependencies
├── tsconfig.json # TypeScript configuration
└── README.md # Project documentation
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|