Klyr is a modern, full-stack banking and personal finance management application built with React, TypeScript, Node.js, and MySQL. It provides users with a seamless experience for managing their finances, including virtual cards, money transfers, and transaction tracking.
- 💳 Virtual Card Management
- 💰 Send & Receive Money
- 📊 Financial Insights & Analytics
- 🔒 Secure Authentication
- 🌓 Dark/Light Mode
- 📱 Responsive Design
- 🚀 Real-time Updates
- 💾 Cloud File Storage
- 🤝 Group Banking & Shared Wallets
Before you begin, ensure you have the following installed:
- Node.js (v16 or higher)
- npm (v8 or higher) or yarn
- MySQL Server (v8.0 or higher)
- Git
-
Clone the repository
git clone https://github.com/seif8911/Klyr.git cd project -
Install server dependencies
cd server npm install -
Install client dependencies
cd ../ npm install
-
Database Setup
- Create a new MySQL database
- Import the database schema from
./klyr.sql
-
Environment Variables Create a
.envfile in theserverdirectory with the following variables:PORT=3001 DB_HOST=localhost DB_USER=your_mysql_username DB_PASSWORD=your_mysql_password DB_NAME=your_database_name JWT_SECRET=your_jwt_secret_key NODE_ENV=development
- Start the Entire server
The server will start on
npm run dev
http://localhost:3001The client will be available athttp://localhost:5173
To run tests:
# Server tests
cd server
npm test
# Client tests
cd ../client
npm testproject/
├── client/ # Frontend React application
│ ├── public/ # Static files
│ └── src/ # Source files
│ ├── components/ # Reusable UI components
│ ├── pages/ # Page components
│ ├── services/ # API services
│ └── styles/ # Global styles
├── server/ # Backend Node.js server
│ ├── config/ # Configuration files
│ ├── controllers/ # Route controllers
│ ├── middleware/ # Express middleware
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ └── utils/ # Utility functions
└── README.md # This file
- 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 ❤️ using modern web technologies
- Inspired by modern fintech applications
- Special thanks to all contributors
- Made By Seif and mohamed Hesham For The Deci Level 5 Web development Track