fixed rout
This commit is contained in:
175
README.md
Normal file
175
README.md
Normal file
@@ -0,0 +1,175 @@
|
||||
# FastCheck - СБП Payment System
|
||||
|
||||
FastCheck is an online payment system that allows users to create and manage payment checks with СБП (Faster Payment System).
|
||||
|
||||
## Features
|
||||
|
||||
- ✅ QR Code Authentication
|
||||
- ✅ Balance Management
|
||||
- ✅ Create FastCheck with custom amount
|
||||
- ✅ Accept FastCheck with number and PIN
|
||||
- ✅ View Active Checks
|
||||
- ✅ Transaction History
|
||||
- ⏳ Bank Integration (To be implemented)
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- **Framework**: Angular 21
|
||||
- **Language**: TypeScript
|
||||
- **Styling**: SCSS
|
||||
- **HTTP Client**: Angular HttpClient
|
||||
- **QR Code**: angularx-qrcode
|
||||
- **API**: RESTful API (api.fastcheck.store)
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Node.js (v18 or higher)
|
||||
- npm (v10 or higher)
|
||||
|
||||
### Installation
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
npm install
|
||||
|
||||
# Start development server
|
||||
npm start
|
||||
|
||||
# The app will run on http://localhost:4200
|
||||
```
|
||||
|
||||
### Build
|
||||
|
||||
```bash
|
||||
# Production build
|
||||
npm run build
|
||||
|
||||
# Output will be in dist/ folder
|
||||
```
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
src/
|
||||
├── app/
|
||||
│ ├── components/
|
||||
│ │ ├── login/ # QR login with polling
|
||||
│ │ ├── dashboard/ # Main dashboard
|
||||
│ │ ├── active-checks/ # Active FastChecks list
|
||||
│ │ └── history/ # Transaction history
|
||||
│ ├── services/
|
||||
│ │ ├── api.service.ts # HTTP client wrapper
|
||||
│ │ ├── auth.service.ts # Authentication logic
|
||||
│ │ └── fastcheck.service.ts # FastCheck operations
|
||||
│ ├── models/ # TypeScript interfaces
|
||||
│ ├── guards/ # Route guards
|
||||
│ └── app.routes.ts # Route configuration
|
||||
```
|
||||
|
||||
## API Documentation
|
||||
|
||||
### Implemented APIs
|
||||
|
||||
- ✅ `GET /ping` - Check server availability
|
||||
- ✅ `GET /websession` - Create QR session
|
||||
- ✅ `GET /websession/:id` - Check login status (polling)
|
||||
- ✅ `DELETE /websession/:id` - Logout
|
||||
- ✅ `POST /fastcheck` - Create new FastCheck
|
||||
- ✅ `POST /fastcheck` - Accept FastCheck
|
||||
- ✅ `GET /fastcheck` - Check FastCheck status
|
||||
|
||||
### Missing APIs (Mocked in Frontend)
|
||||
|
||||
See `public/missing-apis.txt` for complete specifications:
|
||||
|
||||
- ❌ `GET /balance` - Get user balance
|
||||
- ❌ `GET /fastcheck/active` - Get active checks
|
||||
- ❌ `GET /fastcheck/history` - Get transaction history
|
||||
|
||||
**Note**: These APIs are currently mocked in the frontend. The backend team needs to implement them.
|
||||
|
||||
## Features Overview
|
||||
|
||||
### 1. Authentication
|
||||
- Scan QR code with mobile app
|
||||
- Auto-polling every 2 seconds
|
||||
- Session management with sessionStorage
|
||||
|
||||
### 2. Dashboard
|
||||
- View current balance
|
||||
- Create new FastCheck
|
||||
- Accept existing FastCheck
|
||||
- FastCheck format: `xxxx-xxxx-xxxx`
|
||||
- Code format: `xxxx`
|
||||
|
||||
### 3. Active Checks
|
||||
- View all unused FastChecks
|
||||
- Copy number and code to clipboard
|
||||
- See expiration dates
|
||||
|
||||
### 4. Transaction History
|
||||
- View used/expired checks
|
||||
- Filter by created/accepted
|
||||
- See timestamps
|
||||
|
||||
### 5. Balance Top-Up (To be implemented)
|
||||
- Bank integration needed
|
||||
- Will redirect to bank payment page
|
||||
- Auto-refresh balance after payment
|
||||
|
||||
## Development Notes
|
||||
|
||||
### Mock Data
|
||||
|
||||
The following services return mock data:
|
||||
- `getBalance()` - Returns 150,000 RUB
|
||||
- `getActiveFastChecks()` - Returns 2 sample active checks
|
||||
- `getFastCheckHistory()` - Returns 2 sample history records
|
||||
|
||||
Replace the mocked `of()` observables with real API calls once backend is ready.
|
||||
|
||||
### Environment Configuration
|
||||
|
||||
Update `src/environments/environment.ts` for different API URLs:
|
||||
|
||||
```typescript
|
||||
export const environment = {
|
||||
production: false,
|
||||
apiUrl: 'https://api.fastcheck.store'
|
||||
};
|
||||
```
|
||||
|
||||
## Backend Requirements
|
||||
|
||||
Backend team needs to implement:
|
||||
|
||||
1. **Balance API** - `GET /balance`
|
||||
2. **Active Checks API** - `GET /fastcheck/active`
|
||||
3. **History API** - `GET /fastcheck/history`
|
||||
4. **Bank Integration** - Payment gateway integration
|
||||
|
||||
See `public/missing-apis.txt` for detailed API specifications.
|
||||
|
||||
## Security Notes
|
||||
|
||||
- SessionId stored in sessionStorage (clears on tab close)
|
||||
- All authenticated requests include Authorization header
|
||||
- FastCheck codes are sensitive - handle securely
|
||||
- Implement HTTPS in production
|
||||
|
||||
## Browser Support
|
||||
|
||||
- Chrome (latest)
|
||||
- Firefox (latest)
|
||||
- Safari (latest)
|
||||
- Edge (latest)
|
||||
|
||||
## License
|
||||
|
||||
Private - 4Pay
|
||||
|
||||
## Contact
|
||||
|
||||
For questions or issues, contact: sdarbinyan@4pay.ru
|
||||
Reference in New Issue
Block a user