A full-stack banking application built with React.js, Spring Boot, and PostgreSQL, providing a secure and user-friendly online banking experience.
- Secure JWT-based authentication
- User registration and login
- Role-based access control
- Create and manage multiple accounts
- View account balances and transaction history
- Fund transfers between accounts
- Transaction history with filtering
- Virtual and physical card management
- Card activation/deactivation
- Transaction limits management
- Real-time currency exchange rates
- Currency conversion
- React.js with Vite
- React Router for navigation
- Axios for API calls
- Tailwind CSS for styling
- React Icons
- Spring Boot 3.x
- Spring Security with JWT
- Spring Data JPA
- PostgreSQL Database
- Maven for dependency management
- Git for version control
- Postman/Insomnia for API testing
- ESLint and Prettier for code quality
- Node.js (v16 or higher)
- Java 17 or higher
- PostgreSQL (v12 or higher)
- Maven (v3.8 or higher)
-
Database Setup
# Create a new PostgreSQL database createdb slbank -
Configure Application Update the database configuration in
backend/src/main/resources/application.properties -
Run the application
cd backend ./mvnw spring-boot:runThe backend will be available at
http://localhost:8080
-
Install dependencies
cd frontend npm install -
Start development server
npm run dev
The frontend will be available at
http://localhost:5173
API documentation is available at http://localhost:8080/swagger-ui.html after starting the backend server.
cd backend
./mvnw testcd frontend
npm test- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with ❤️ for modern banking solutions
- Thanks to all contributors who have helped shape this project