A lightweight banking application designed for simple and secure financial transactions. This project features robust authentication, role-based access, and a smooth user experience.
- 🚀 Features
- 🌐 Live Demo
- 🛠️ Tech Stack
- 📁 Project Folder Structure
- 🗂️ Git Workflow Guidelines
- 📜 General Coding Guidelines
- 🧑💻 Contributors
- 📝 Developer Documentation
- 🏗️ Modular Monolith Structure
- 🔐 User Authentication – Secure login system for all users.
- 🔁 Fund Transfers –
- Internal (within the system)
- External (to other systems)
- 🔑 OTP-Based Multi-Factor Authentication – Adds an extra layer of security.
- 👥 Role-Based Access Control –
- Admin
- Teller
- Account Holder
Visit the application here:
🔗 Errawrs Web Host: StackOverCash
Use the following credentials to explore the different roles in the application:
- Username:
simonejakereyes - Password:
DNSZtebjOFlaTdgy
- Username:
T000006 - Password:
123456789
- Username:
admin - Password:
Admin@123
⚠️ Note: These demo accounts are for testing purposes only. Please do not store sensitive information.
🔗 https://youtu.be/YT7I0XK5CX4?si=BuJGyQo68l6O63Xt
- Backend: PHP
- Frontend: HTML / CSS / JS
- Database: MySQL
- Hosting: AWS EC2 (Ubuntu)
- Server: NGINX + PHP-FPM
- CI/CD: GitHub Actions (SSH Deploy)
- SMS Gateway:
- ├── 📂/public
- │ ├── 📂/admin
- │ │ ├── 📂/css
- │ │ ├── 📂/js
- │ │ └── 📄login_admin.html
- │ ├── 📂/teller
- │ │ ├── 📂/css
- │ │ ├── 📂/js
- │ │ └── 📄login_teller.html
- │ ├── 📂/user
- │ │ ├── 📂/css
- │ │ ├── 📂/js
- │ │ └── 📄login_account_holder.html
- │ ├── 📂/assets
- │ │ ├── 📂/images
- │ │ ├── 📂/fonts
- │ │ └── 📂/icons
- │ └── 📄index.html
- ├── 📂/src
- │ ├── 📂/api
- │ │ ├── 📂/admin
- │ │ ├── 📂/auth
- │ │ ├── 📂/teller
- │ │ └── 📂/user
- │ ├── 📂/config
- │ │ ├── 📄database.php
- │ │ └── 📄config.php
- │ ├── 📂/auth
- │ │ ├── 📄auth.php
- │ │ └── 📄session.php
- │ └── 📂/logs
- └── 📄README.md
| Branch Type | Description | Naming Convention |
|---|---|---|
| main | Production branch | main |
| staging | ready to deploy branch | staging |
| dev | Main dev branch | dev |
| feature | New feature development | feature/ |
| bugfix | Fixes identified bugs | bugfix/ |
| hotfix | Quick fix for prod issue | hotfix/ |
| docs | Document related branch | docs/ |
- ✅ Create a branch from
devfor any feature, bugfix, or enhancement. - ✅ Use descriptive branch names (e.g.,
feature/user-authentication). - ✅ Commit often with meaningful messages.
- ✅ Keep branches focused; one purpose per branch.
- 🔁 Use Pull Requests (PRs) to merge into
devormain.- Rebase Before Merging
- 🔗 Rebase Instructions
- ✅ Ensure all PRs are reviewed before merging.
- ✅ Test the feature before merging to
dev. - 🚫 Never push directly to
main.
- Use comments only when necessary.
- Document complex logic or non-obvious implementation.
- Add short descriptions to explain the purpose of each module or method.
- Use
try/catchblocks - Show clear and meaningful error messages
🔗 Click here to view full guidelines
| Name | Role |
|---|---|
| Gerald Mamasalanang | Project Manager/Developer |
| Daniel Victorioso | Tech Lead/Developer |
| Simone Jake Reyes | UI/UX/Developer |
| Ivan Delumen | Tester/Developer |