Autobank is a Kotlin Spring Boot application designed for managing financial receipts and economic requests for committees at NTNU Online. The system provides a comprehensive solution for receipt submission, review processes, and administrative functions with secure OAuth2/JWT authentication.
-
Clone the repository
git clone https://github.com/appKom/gnocchitony.git cd gnocchitony -
Configure environment variables
-
Run the application
./gradlew bootRun
The application will start on http://localhost:8080
- Receipt Management: Create, view, and manage financial receipts
- Admin Review System: Approve or deny receipts with comments
- Committee Integration: Associate receipts with specific committees
- File Attachments: Upload and manage receipt attachments via Azure Blob Storage
- Economic Requests: Submit and manage economic requests (partial implementation)
- Role-based Access Control: Admin and regular user permissions
- OAuth2 Authentication: Secure authentication via Auth0
- Backend: Kotlin + Spring Boot
- Database: Microsoft SQL Server (Azure)
- Authentication: OAuth2/JWT via Auth0
- File Storage: Azure Blob Storage
- Build Tool: Gradle
Detailed documentation is available in the /docs folder:
- API Routes - Complete API endpoint documentation
- Database Schema - Database structure and relationships
- Architecture - System architecture and design patterns
- Setup & Deployment - Detailed setup and deployment guide
All API endpoints require authentication via Bearer token:
Authorization: Bearer <access_token>
Note: In development mode (environment=dev), security is disabled for easier testing.
src/main/kotlin/com/example/autobank/
├── controller/ # REST controllers
├── service/ # Business logic
├── repository/ # Data access layer
├── data/ # DTOs and data models
├── security/ # Security configuration
└── AutobankApplication.kt
GET /api/auth/getuser- Get current user infoPOST /api/receipt/create- Create new receiptGET /api/receipt/getall- List user receiptsGET /api/admin/receipt/all- Admin: List all receiptsPOST /api/admin/receipt/review- Admin: Review receipt
For complete API documentation, see docs/api-routes.md.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is part of NTNU Online's application suite.