AKomo is a comprehensive solution for tracking currency rates in Venezuela, featuring a robust backend for data synchronization and a user-friendly mobile application.
Verified as a monorepo containing:
- Node.js (LTS recommended)
- pnpm (Package manager)
Since this repository contains two separate projects, you need to install dependencies for each one individually.
cd backend
pnpm installcd mobile
pnpm installThe backend service handles API requests and synchronizes currency rates (e.g., from Binance, BCV).
Start the development server:
cd backend
pnpm start:devSync Scripts:
- Sync Binance rates:
pnpm sync:binance - Sync BCV rates:
pnpm sync:bcv
The mobile application is built with Expo.
Start the Expo development server:
cd mobile
pnpm startYou can then open the app in:
- Expo Go: Scan the QR code with your phone.
- Android Emulator: Press
a. - iOS Simulator: Press
i. - Web: Press
w.
- Framework: Expo (React Native)
- Language: TypeScript
- State Management: Zustand
- Data Fetching: TanStack Query
- Routing: Expo Router
- UI/Styling: Lucide React Native, Expo Vector Icons, Noto Sans Font
- Forms: React Hook Form
- Framework: NestJS
- Database: Supabase (PostgreSQL)
- Data Sync: Axios, Cheerio (for scraping)
- Validation: Class Validator
Ensure you have the necessary environment variables set up for both backend and mobile.
- Backend: Requires Supabase credentials and database connection strings.
- Mobile: May require API endpoints and public keys.
Refer to .env.example files in the respective directories if available.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add some amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.