A modern, full-featured online banking system built with Django, HTML5, CSS3, Bootstrap 5, and JavaScript, inspired by Revolut's clean and intuitive design.
- User Authentication: Sign up, login, and logout functionality
- Dashboard: Comprehensive overview of accounts, balances, and transactions
- Multiple Account Types: Checking, Savings, and Business accounts
- Transaction Management: Track deposits, withdrawals, transfers, and payments
- International Transfers: Send money globally with real-time exchange rates
- AI Assistant: 24/7 intelligent chatbot for customer support, transaction help, and error resolution
- Virtual Cards: Create unlimited virtual cards for secure online shopping
- Physical Cards: Customizable physical cards with contactless payments
- Card Controls: Freeze/unfreeze cards, set spending limits
- Custom Designs: Personalize card colors and names
- High Yield Savings: 5.50% APY with daily interest accrual
- Savings Goals: Set and track financial goals
- Auto-deposits: Automated savings transfers
- Stock Trading: Commission-free trading of 4,000+ stocks and ETFs
- Automated Investing: AI-powered portfolio management
- Fractional Shares: Start investing with as little as $1
- Smart Budgeting: Auto-categorize expenses and track spending
- Real-time Notifications: Instant alerts for every transaction
- Analytics Dashboard: Visualize spending patterns and trends
- Multi-currency Support: Hold and exchange 150+ currencies
- Intelligent Chatbot: Natural language processing for banking queries
- Intent Detection: Automatically understands user needs (balance, transfers, cards, etc.)
- Smart Actions: AI-assisted transactions with verification
- Error Handler: Automatic error detection and resolution suggestions
- Support Tickets: AI escalation to human support when needed
- FAQ Knowledge Base: Self-service help center with 12+ common questions
- Conversation History: Track all interactions with AI assistant
- Multi-Agent System: Specialized agents for different banking tasks
- Standard: Free basic banking features
- Premium: $9.99/month with enhanced features and physical card
- Metal: $16.99/month with metal card, cashback, and concierge service
- Clean, modern interface with intuitive navigation
- Full-width hero sections with gradient backgrounds
- Modular feature blocks with hover effects
- Responsive design (mobile, tablet, desktop)
- Smooth animations and transitions
- Custom color scheme with primary accent colors
- Top Navigation: Logo, main menu (Personal, Business, Kids & Teens, Company)
- Mobile Menu: Offcanvas sidebar with collapsible sections
- Dropdown Menus: Organized feature categories
- Footer: Product links, company info, legal pages, country selector
WORKSPACE-BANKING/
βββ banking_system/ # Django project settings
β βββ settings.py
β βββ urls.py
β βββ wsgi.py
βββ accounts/ # User accounts & profiles
β βββ models.py # UserProfile, BankAccount, AccountPlan
β βββ admin.py
β βββ migrations/
βββ cards/ # Card management
β βββ models.py # Card model
β βββ admin.py
βββ transactions/ # Transaction handling
β βββ models.py # Transaction, InternationalTransfer
β βββ admin.py
βββ savings/ # Savings accounts
β βββ models.py # SavingsAccount, InterestAccrual
β βββ admin.py
βββ investments/ # Investment portfolio
β βββ models.py # Portfolio, Stock, Investment
β βββ admin.py
βββ ai_assistant/ # AI chatbot & support system
β βββ models.py # Conversation, Message, SupportTicket, FAQKnowledge, ErrorLog
β βββ views.py # Chat interface, ticket management
β βββ ai_engine.py # NLP, intent detection, response generation
β βββ admin.py
β βββ management/
β βββ commands/
β βββ populate_faq.py
βββ main/ # Main app with views
β βββ views.py # All view functions
β βββ admin.py
βββ templates/ # HTML templates
β βββ base.html # Base template with navigation
β βββ home.html # Landing page
β βββ plans.html # Pricing page
β βββ auth/ # Authentication templates
β β βββ login.html
β β βββ signup.html
β βββ dashboard/ # Dashboard templates
β β βββ dashboard.html
β βββ features/ # Feature pages
β βββ cards.html
β βββ savings.html
β βββ stocks.html
β βββ ...
βββ static/ # Static files
β βββ css/
β β βββ style.css # Custom CSS
β βββ js/
β β βββ main.js # JavaScript
β βββ images/
βββ media/ # User uploads
βββ manage.py
βββ db.sqlite3
- Python 3.8+
- pip (Python package manager)
-
Clone or navigate to the project directory:
cd C:\Users\TRUTECH\OneDrive\Documents\WORKSPACE-BANKING
-
Create a virtual environment (if not already created):
python -m venv venv
-
Activate the virtual environment:
# Windows .\venv\Scripts\Activate.ps1 # Linux/Mac source venv/bin/activate
-
Install required packages:
pip install django pillow
-
Run migrations:
python manage.py makemigrations python manage.py migrate
-
Create a superuser (for admin access):
python manage.py createsuperuser
Follow the prompts to set username, email, and password.
-
Run the development server:
python manage.py runserver
-
Access the application:
- Main site: http://127.0.0.1:8000/
- Admin panel: http://127.0.0.1:8000/admin/
/- Home (landing page)/login/- User login/signup/- User registration/plans/- Pricing plans
/dashboard/- User dashboard/cards/- Card management/savings/- Savings accounts/stocks/- Stock trading/international-transfers/- International money transfers/send-receive/- Send & receive money/money-management/- Budgeting and analytics/automated-investing/- Automated investing/ai/chat/- AI Assistant chat interface/ai/faq/- Help Center & FAQ search/ai/my-tickets/- Support ticket management/ai/history/- Conversation history
- UserProfile: Extended user information
- BankAccount: Multiple account support with balance tracking
- Card: Virtual and physical card management
- Transaction: Complete transaction history
- SavingsAccount: High-yield savings with goals
- Portfolio & Investment: Stock trading functionality
- Conversation: AI chat sessions with message tracking
- Message: Individual chat messages with intent detection
- AIAction: Automated actions suggested/executed by AI
- SupportTicket: Escalated support requests
- FAQKnowledge: Self-service knowledge base
- ErrorLog: Automatic error tracking and analysis
- Django's built-in authentication system
- Custom signup with automatic profile creation
- Login/logout with redirects
- Protected routes with
@login_requireddecorator
- Bootstrap 5 for responsive layout
- Custom CSS with Revolut-inspired design
- Bootstrap Icons for iconography
- JavaScript for animations and interactions
- CSRF protection (Django built-in)
- Password hashing
- Session management
- SQL injection protection (Django ORM)
- XSS prevention (Django templates)
- AI Assistant - Implemented with NLP and multi-agent system
- Support Ticketing - AI-powered escalation system
- Error Tracking - Automatic error logging and suggestions
- FAQ System - Self-service knowledge base
- Machine Learning - Train AI on user conversations
- Voice Assistant - Speech-to-text banking commands
- Sentiment Analysis - Detect frustrated users for priority support
- Payment gateway integration
- Real-time stock data API
- Email notifications
- Two-factor authentication
- Mobile app (React Native)
- Cryptocurrency support
- Bill payment integration
- Loan applications
- Credit score tracking
- Advanced analytics with Chart.js
- Use the admin panel to manually create test data
- Access admin at http://127.0.0.1:8000/admin/
- Create sample accounts, cards, and transactions
- Sign up for a new account
- Explore the dashboard
- Navigate through feature pages
- Test responsive design on different devices
This is a learning project. Feel free to fork, modify, and use it for your own purposes.
This project is open-source and available for educational purposes.
Created as a demonstration of modern Django web application development with a Revolut-inspired design.
- Design inspiration: Revolut
- CSS Framework: Bootstrap 5
- Icons: Bootstrap Icons
- Backend: Django
- Database: SQLite (development)
For issues or questions, please check:
- Django documentation: https://docs.djangoproject.com/
- Bootstrap documentation: https://getbootstrap.com/docs/
- Project structure and code comments
Note: This is a demonstration project. For production use, implement additional security measures, use PostgreSQL instead of SQLite, set up proper environment variables, enable HTTPS, and follow Django deployment best practices.