Mint Replica Lite is a comprehensive financial management system that provides users with a consolidated view of their financial accounts, transactions, budgets, and investment portfolios. The system consists of native iOS, React Native Android/Web applications, and cloud-based backend services.
- Backend: Python ^3.9.0
- iOS: Swift 5.0+
- Android/Web: React Native ^0.71.0
- Infrastructure: Docker ^20.0, Kubernetes ^1.24.0
flowchart TB
subgraph Client Layer
iOS[iOS Native App]
Android[Android App]
Web[Web App]
end
subgraph API Gateway Layer
AG[API Gateway<br>Load Balancer]
end
subgraph Application Layer
AS[Authentication Service]
TS[Transaction Service]
BS[Budget Service]
IS[Investment Service]
GS[Goal Service]
NS[Notification Service]
SS[Sync Service]
end
subgraph Data Layer
DB[(PostgreSQL<br>Primary Database)]
Cache[(Redis Cache)]
S3[S3 Storage]
end
iOS --> AG
Android --> AG
Web --> AG
AG --> AS
AG --> TS
AG --> BS
AG --> IS
AG --> GS
AG --> NS
AG --> SS
AS --> DB
TS --> DB
BS --> DB
IS --> DB
GS --> DB
SS --> DB
AS --> Cache
TS --> Cache
BS --> Cache
IS --> Cache
GS --> Cache
-
Development Tools
- Git
- Docker Desktop ^20.0
- Kubernetes ^1.24.0
- Visual Studio Code (recommended)
-
Platform-specific Requirements
- iOS: Xcode 14.0+, CocoaPods
- Android/Web: Node.js 16+, React Native CLI
- Backend: Python 3.9+, PostgreSQL 13+, Redis 6+
# Clone repository
git clone https://github.com/your-org/mint-replica-lite.git
cd mint-replica-lite
# Backend setup
cd src/backend
python -m venv venv
source venv/bin/activate # Unix
.\venv\Scripts\activate # Windows
pip install -r requirements.txt
# iOS setup
cd src/ios
pod install
open MintReplicaLite.xcworkspace
# Web/Android setup
cd src/web
npm install
# or
yarn install
cd src/backend
# Configure environment
cp .env.example .env
# Edit .env with your configuration
# Initialize database
python manage.py db init
python manage.py db migrate
python manage.py db upgrade
# Start development server
python run.py
cd src/ios
# Install dependencies
pod install
# Open in Xcode
open MintReplicaLite.xcworkspace
# Build and run
# Select target device/simulator in Xcode and press ⌘R
cd src/web
# Start Metro bundler
npm start
# or
yarn start
# Run on Android
npm run android
# or
yarn android
# Run on Web
npm run web
# or
yarn web
- Create feature branch from
develop
- Implement changes following style guides
- Submit PR with description and tests
- Obtain code review approval
- Merge to
develop
- iOS: Follow Swift style guide and SwiftLint rules
- Android/Web: ESLint + Prettier configuration
- Backend: PEP 8 + Black formatter
- All: 80% minimum test coverage
- Unit tests for business logic
- Integration tests for API endpoints
- UI tests for critical flows
- Performance tests for key operations
# Production deployment
docker-compose -f docker-compose.prod.yml up -d
# Kubernetes deployment
kubectl apply -f k8s/production/
- Automated builds on PR
- Test suite execution
- Security scanning
- Docker image creation
- Staging deployment
- Production deployment
sequenceDiagram
participant Client
participant Auth
participant Service
participant Store
Client->>Auth: Login credentials
Auth->>Store: Validate user
Store-->>Auth: User details
Auth->>Auth: Generate tokens
Auth-->>Client: JWT + refresh token
Client->>Service: API request + JWT
Service->>Auth: Validate token
Auth-->>Service: Token claims
Service-->>Client: Protected resource
- TLS 1.3 for all communications
- AES-256 encryption for sensitive data
- JWT-based authentication
- Role-based access control
- Field-level encryption
- Secure credential storage
Copyright (c) 2023 Mint Replica Lite Team. All rights reserved.
- Version: 1.0.0
- Last Updated: ${DATETIME}
- Maintainers: Backend Team, iOS Team, Web Team, DevOps Team
- Review Frequency: Monthly