Personal and Home finance projection and expense tracking application.
- 📅 Calendar view for transaction planning
- 📊 Monthly reports and summaries
- 💰 Multiple account management
- 🏷️ Category organization
- 📱 Card-based transaction feed view
- Transaction Feed View - Card-based transaction browsing interface
- Transaction Visual Language - UI/UX guidelines for transaction interfaces
- Implementation Guide - Developer implementation details
- Frontend:
- Vue 3 (Composition API)
- Pinia for state management
- Bootstrap 5 for UI
- FullCalendar for calendar view
- Backend:
- Express.js
- MySQL database
- JWT for authentication
We use automated testing to ensure code quality. See TESTING.md for details on running tests and our CI/CD pipeline.
You can view the interactive Swagger UI documentation by:
- Installing dependencies:
cd api && npm install - Running:
npm run docs - Opening http://localhost:3000/api-docs in your browser
git clone https://github.com/yourusername/tomas.git
cd yamoInstall frontend dependencies
cd frontend
npm installInstall backend dependencies
cd ../api
npm installCopy example env file
cp .env.example .envEdit with your database credentials
nano .envmysql -u root -p < schema.sqlWe try to abide to GitFlow
The development branch is develop, all PRs must point there.
main is used for production releases and hotfixes.
Start Backend server
cd api
npm run devStart frontend development server
cd frontend
npm run devVisit http://localhost:5173 in your browser
Build frontend:
cd frontend
npm run buildStart production server:
cd api
npm startThis will deploy:
- A single App Platform instance running both frontend and backend
- Requires external MySQL database credentials (not included)
- Automatically deploys from the
developbranch
YAMO_MYSQL_HOST: MySQL server hostnameYAMO_MYSQL_USER: Database usernameYAMO_MYSQL_PASSWORD: Database passwordYAMO_MYSQL_DATABASE: Database nameYAMO_MYSQL_PORT: Database port (default: 3306)
General Public License v3, check LICENSE.md for details