A digital wallet system built with Go and PostgreSQL for managing user accounts and transactions.
- User account management
- Wallet creation and management
- Secure transaction processing
- Multiple currency support
- Transaction history tracking
- Go
- PostgreSQL
- SQLC
- Make
- Docker
- Go (1.19 or higher)
- Docker
- Make
- Start PostgreSQL container:
make postgres
- Create database:
make createdb
- Run migrations:
make migrate_up
- Generate SQLC code:
make generate_sqlc
- Run tests:
make run_test
# Database Management
make postgres # Start PostgreSQL container
make get_postgres # Connect to PostgreSQL container
make createdb # Create database
make get_db # Connect to database
make dropdb # Drop database
# Migration Commands
make create_migration # Create new migration file
make migrate_up # Run migrations up
make migrate_down # Run migrations down
# SQLC Commands
make pull_sqlc # Pull SQLC Docker image
make init_sqlc # Initialize SQLC
make generate_sqlc # Generate SQLC code
# Testing
make run_test # Run tests with coverage
make clean_test_cache # Clean test cache