An expense tracker app. (Clone of Cashbook)
CashSync is a comprehensive expense tracker app designed to help you manage your expenses across multiple clients. Inspired by Cashbook, CashSync offers robust features and seamless synchronization, ensuring your financial records are always up-to-date and accessible.
- User Authentication: Secure and easy authentication with Clerk
- Expense Books: Create and manage multiple expense books.
- Entries Management: Add and organize entries within each expense book
- Cross-Platform Sync: Keep your expenses synchronized across multiple devices.
- Backend: Golang
- Database: Google Firestore
- Client: React Native, Expo (for Android App)
-
Requirements
- Go
- NodeJs >= v20.x
- Clerk Private and public keys
- Google cloud service account keys
-
Installation
-
Clone repository
git clone https://github.com/nullsploit01/cash-sync.git cd cash-sync
-
Server setup
cd server
- Update following parameters of
conf/config.yaml
firestoreServiceAccountKeysLocation: 'YOUR_GOOGLE_SERVICE_ACCOUNT_CREDENTIALS' clerkApiKey: 'YOUR_CLERK_PRIVATE_KEY'
- Run the following command to start the application
go run .
- For hot reloading, update
.air.toml
as required and running the following command
air
-
App setup
- cd app
- Install packages
npm install
- Add an
.env.local
with the following parameters
EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=YOUR_EXPO_PUBLIC_KEY EXPO_PUBLIC_API_URL=YOUR_LOCAL_SERVER_URL
- Start the application
npm start
-