LitePay is a web application built with the MERN stack (MongoDB, Express, React, Node.js) that makes it easy to split expenses with friends, family, or roommates. It allows users to quickly determine who owes whom and how much after a meeting, trip other event. Additionally, it provides statistics related to personal money management.
Note
LitePay web application is only available in Polish language version!
Unauthenticated User
- 📝 Account registration
- 🔑 Login
Logged-in User
- ✏️ Editing personal data (first name, last name, email, profile picture, password)
- 👥 Creating, editing, and deleting groups
- ✉️ Inviting other users to groups
- 💸 Adding, deleting, and editing expenses (title, amount, category, date, who paid, and for whom)
- 🔄 Custom expense splits (flexible amount distribution)
- 🕒 Activity timeline to track changes in expenses and groups
- 📊 Group statistics (total group expenses, personal debts/balances)
- 📈 Financial summary (total spending across all groups, list of debtors/creditors, spending charts by day/month/year)
- 🌙 Dark mode of the application
- 📱 Full responsiveness
- ✨ Clean and simple design
Backend
- Express
- Node.js
- MongoDB
- JWT
- bcryptjs
- multer
Frontend
- React
- Axios
- chart.js
- formik
- Yup
Software versions used for development:
- React 19.1.0
- Express 5.1.0
- Node.js 24.0.1
- MongoDB Compass 1.46.2
- MongoDB NodeJS Driver 6.16.0
Warning
Compatibility with earlier versions has not been tested.
To run a project locally, you must have Node.js and npm installed.
Important
Download guide: Installing Node.js and npm
You must also have the MongoDB Compass app downloaded or the MongoDB Atlas service configured.
.env file in the client directory:
REACT_APP_API_URL=http://localhost:5000/api
REACT_APP_BASE_URL=http://localhost:3000
REACT_APP_UPLOADS_URL=http://localhost:5000
.env file in the server directory:
NODE_ENV=development
PORT=5000
MONGODB_URI=mongodb://localhost:27017/litepay
JWT_SECRET=your_jwt_secret_here
JWT_EXPIRE=30d
JWT_COOKIE_EXPIRE=30
FILE_UPLOAD_PATH=./uploads
MAX_FILE_UPLOAD=5242880 # 5MB
- Download and extract the LitePay-Project folder.
- If necessary (for example, when using MongoDB Atlas), adjust the
.envfile from theserverdirectory. Otherwise, go to Step 4 (the file is configured by default). - (If modified) Sync any changes made in
server/.envwithclient/.env - Navigate to the
serverfolder in your terminal. - Install dependencies and launch the backend:
$ npm install
$ npm start
- Open a new terminal in the
clientfolder. - Install dependencies and launch the frontend:
$ npm install
$ npm start
- Access the application at http://localhost:3000 (or your custom URL if you modified the frontend port in Step 3).















