dwindown 89f881e7cf feat: reorganize admin settings with tabbed interface and documentation
- Reorganized admin settings into tabbed interface (General, Security, Payment Methods)
- Vertical tabs on desktop, horizontal scrollable on mobile
- Moved Payment Methods from separate menu to Settings tab
- Fixed admin profile reuse and dashboard blocking
- Fixed maintenance mode guard to use AppConfig model
- Added admin auto-redirect after login (admins → /admin, users → /)
- Reorganized documentation into docs/ folder structure
- Created comprehensive README and documentation index
- Added PWA and Web Push notifications to to-do list
2025-10-13 09:28:12 +07:00
2025-10-09 12:52:41 +07:00
2025-10-09 12:52:41 +07:00
2025-10-09 12:52:41 +07:00
2025-10-09 12:52:41 +07:00
2025-10-09 12:52:41 +07:00
2025-10-09 12:52:41 +07:00
2025-10-09 12:52:41 +07:00
2025-10-09 12:52:41 +07:00

Tabungin

A modern financial tracking application built with React and NestJS.

📚 Documentation

Comprehensive documentation is available in the docs/ folder:

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • PostgreSQL 14+
  • npm or yarn

Installation

  1. Clone the repository

    git clone <repository-url>
    cd Tabungin
    
  2. Install dependencies

    npm install
    
  3. 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
    
  4. Setup database

    cd apps/api
    npx prisma migrate dev
    npx prisma db seed
    
  5. Run development servers

    # Terminal 1: API
    cd apps/api
    npm run dev
    
    # Terminal 2: Web
    cd apps/web
    npm run dev
    
  6. Access the application

🏗️ 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

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License.

🆘 Support

For questions or issues:

Description
No description provided
Readme 2.2 MiB
Languages
TypeScript 97%
CSS 2.1%
Shell 0.6%
JavaScript 0.2%