A backend service for managing transactions and user accounts in a financial system.
To quickly start the Transaction Manager, simply run:
# Clone the repository
git clone https://github.com/yourusername/txn-manager.git
cd txn-manager
# Run the setup script (requires Docker and Docker Compose)
./setup.shThat's it! The application will be available at http://localhost:8080.
To stop the application:
docker-compose down- User Management: Registration, authentication, and profile management
- Transaction Management: Create, view, and list transactions
- Account Management: Balance tracking, multiple accounts per user
- JWT Authentication: Secure API access
- PostgreSQL Database: Reliable data storage
- Rust: Primary programming language
- Axum: Web framework
- SQLx: Database interactions
- PostgreSQL: Relational database
- Docker: Containerization
The system uses a PostgreSQL database with three main tables:
- Users: Stores user information and authentication details
- Accounts: Tracks financial accounts belonging to users
- Transactions: Records all financial transactions between accounts
For detailed schema information, see Database Schema.
- pgAdmin: Access the database management interface at http://localhost:5050
- Email: admin@example.com
- Password: admin
- API Testing: Run the included test script:
scripts/test_api.sh
Detailed documentation is available in the docs directory:
- Setup Instructions: Alternative setup methods and troubleshooting
- API Documentation: Detailed API endpoints and usage
- API Samples: Sample requests and testing examples
- Database Schema: Detailed database structure and relationships
- Performance Information: Performance analysis and optimizations
- Building from Source: Comprehensive build instructions
This project is licensed under the MIT License - see the LICENSE file for details.