- Deleted 36 old session/progress files (Oct 8-13) - Deleted deprecated FIREBASE_SETUP.md - Moved 4 planning documents to docs/planning/ - PROJECT_PLAN.md → project-plan.md - PROJECT_STANDARDS.md → project-standards.md - TODO_ADMIN_FEATURES.md → todo-admin-features.md - IMPLEMENTATION_PLAN.md → implementation-plan.md - Updated docs/README.md with new planning documents - Root folder now only contains README.md
Tabungin
A modern financial tracking application built with React and NestJS.
📚 Documentation
Comprehensive documentation is available in the docs/ folder:
- Documentation Index - Start here for all documentation
- Features - Detailed feature documentation
- Guides - How-to guides and tutorials
- Planning - Roadmap and to-do list
🚀 Quick Start
Prerequisites
- Node.js 18+
- PostgreSQL 14+
- npm or yarn
Installation
-
Clone the repository
git clone <repository-url> cd Tabungin -
Install dependencies
npm install -
Setup environment
# Copy environment files cp apps/api/.env.example apps/api/.env cp apps/web/.env.example apps/web/.env # Edit .env files with your configuration -
Setup database
cd apps/api npx prisma migrate dev npx prisma db seed -
Run development servers
# Terminal 1: API cd apps/api npm run dev # Terminal 2: Web cd apps/web npm run dev -
Access the application
- Web: http://localhost:5174
- API: http://localhost:3001
🏗️ Project Structure
Tabungin/
├── apps/
│ ├── api/ # NestJS backend
│ │ ├── src/
│ │ │ ├── auth/ # Authentication
│ │ │ ├── users/ # User management
│ │ │ ├── wallets/ # Wallet management
│ │ │ ├── transactions/
│ │ │ └── admin/ # Admin features
│ │ └── prisma/ # Database schema
│ └── web/ # React frontend
│ ├── src/
│ │ ├── components/
│ │ ├── contexts/
│ │ ├── lib/
│ │ └── utils/
│ └── public/
├── docs/ # Documentation
│ ├── features/ # Feature docs
│ ├── guides/ # How-to guides
│ └── planning/ # Roadmap & to-do
└── README.md
✨ Features
- 💰 Wallet Management - Multiple wallets with different currencies
- 📊 Transaction Tracking - Income and expense tracking
- 👤 User Profiles - Customizable user profiles with avatars
- 🔐 Multi-Factor Authentication - Email, WhatsApp, and TOTP
- 👥 Admin Panel - Comprehensive admin dashboard
- 💳 Subscription Plans - Flexible subscription management
- 💵 Payment Processing - Multiple payment methods
- 🛡️ Security - JWT authentication, role-based access
- 🌙 Dark Mode - Light and dark theme support
- 🌍 Multi-language - English and Indonesian
🔧 Tech Stack
Frontend
- React 18
- TypeScript
- Vite
- TailwindCSS
- shadcn/ui
- React Router
- Axios
Backend
- NestJS
- TypeScript
- Prisma ORM
- PostgreSQL
- JWT Authentication
- Passport.js
📖 Documentation
- Features Documentation - Detailed feature implementations
- Testing Guide - How to test the application
- To-Do List - Upcoming features and tasks
- Technical Q&A - Technical decisions and answers
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📝 License
This project is licensed under the MIT License.
🆘 Support
For questions or issues:
- Check the Documentation
- Review Technical Q&A
- Open an issue on GitHub
Description
Languages
TypeScript
97%
CSS
2.1%
Shell
0.6%
JavaScript
0.2%