Welcome to CashTrack, a expense-tracking application developed using TypeScript the framework Next.js with a Node/Express/MongoDB backend.
Video Demo: https://www.loom.com/share/a811ea6664ad44ea8a67e11eb4f71439?sid=b6286fa8-1e6d-4dbb-8fb9-6c07f22d93b0
In this application, users can effortlessly manage shared expenses with friends, family, or colleagues. They can create groups for different occasions or groups of people, add expenses, split bills accurately among group members, and keep track of who owes what. The app provides clear insights into spending patterns and simplifies settling debts, ensuring financial transparency among users.
For IOS, cross-site tracking must be allowed for cross-domain cookies (Settings -> Safari -> Uncheck 'Prevent Cross-Site Tracking')
Front-end Integrations:
- React Context
- Component-based Architecture
- Conditional Rendering/Event handling based on user interaction
- Type safety for consistent data validation
Back-end Integrations:
- Custom user authentication via express sessions and bcrypt
- RESTful API with full CRUD + CORS
- Object-relational mapping via Node/Express
For development: In root directory (CashTrack):
- create .env.local file
- NEXT_PUBLIC_BACKEND_API = http://localhost:8000/
- change backend url to different port if necessary
- Run this command
npm run dev
In server directory:
- create .env file
- FRONTEND_URL = http://localhost:3000 - replace frontend url with different port if necessary
- DATABASE_URL = "mongodb+srv://dev-user:CCOPehyRsEEZctjy@cluster0.w0qyptv.mongodb.net/?retryWrites=true&w=majority"
- Run this command
npm start
or
node server.js