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
This commit is contained in:
148
README.md
Normal file
148
README.md
Normal file
@@ -0,0 +1,148 @@
|
||||
# Tabungin
|
||||
|
||||
A modern financial tracking application built with React and NestJS.
|
||||
|
||||
## 📚 Documentation
|
||||
|
||||
Comprehensive documentation is available in the [`docs/`](./docs) folder:
|
||||
|
||||
- **[Documentation Index](./docs/README.md)** - Start here for all documentation
|
||||
- **[Features](./docs/features/)** - Detailed feature documentation
|
||||
- **[Guides](./docs/guides/)** - How-to guides and tutorials
|
||||
- **[Planning](./docs/planning/)** - Roadmap and to-do list
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
### Prerequisites
|
||||
- Node.js 18+
|
||||
- PostgreSQL 14+
|
||||
- npm or yarn
|
||||
|
||||
### Installation
|
||||
|
||||
1. **Clone the repository**
|
||||
```bash
|
||||
git clone <repository-url>
|
||||
cd Tabungin
|
||||
```
|
||||
|
||||
2. **Install dependencies**
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
3. **Setup environment**
|
||||
```bash
|
||||
# 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**
|
||||
```bash
|
||||
cd apps/api
|
||||
npx prisma migrate dev
|
||||
npx prisma db seed
|
||||
```
|
||||
|
||||
5. **Run development servers**
|
||||
```bash
|
||||
# Terminal 1: API
|
||||
cd apps/api
|
||||
npm run dev
|
||||
|
||||
# Terminal 2: Web
|
||||
cd apps/web
|
||||
npm run dev
|
||||
```
|
||||
|
||||
6. **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](./docs/features/) - Detailed feature implementations
|
||||
- [Testing Guide](./docs/guides/testing-guide.md) - How to test the application
|
||||
- [To-Do List](./docs/planning/todo.md) - Upcoming features and tasks
|
||||
- [Technical Q&A](./docs/planning/tech-qa.md) - Technical decisions and answers
|
||||
|
||||
## 🤝 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:
|
||||
- Check the [Documentation](./docs/README.md)
|
||||
- Review [Technical Q&A](./docs/planning/tech-qa.md)
|
||||
- Open an issue on GitHub
|
||||
Reference in New Issue
Block a user