Loading repository data…
Loading repository data…
PawanSirsat / repository
Splitwise Clone is a group expense management web app, simplifying bill splitting and tracking. Built with React and Tailwind CSS, it offers an intuitive interface for managing groups, friends, and tracking expenditures
I’m actively looking for collaborators to help add new features and enhance this project further!
If you have ideas, expertise, or just the enthusiasm to contribute, feel free to:
✨ Together, we can make this project even better! ✨
Begin by cloning the SplitWise repository to your local machine:
git clone https://github.com/PawanSirsat/SplitWise.git
Navigate to the project directory and install the required Node.js packages:
cd splitwise
npm install
Install Tailwind CSS and initialize it in your project:
npm install -D tailwindcss
npx tailwindcss init
Skip the manual steps below and directly migrate my database configuration and data!
I can provide these details to you. Just email me at p1.sirsat1998@gmail.com, and I’ll share them with you!
This automated process ensures you avoid errors and get started instantly.
If you prefer to set up the database manually, follow these steps:
⚠️ Warning: Ensure that you use the attribute names and related collections exactly as mentioned below. To avoid errors, copy and paste the names directly where applicable.
Users
string (Default: -)string (Default: -)email (Default: -)string (Default: -)Groups
string (Default: -)Relationship (Two-way Relationship with Users; Many to one,
Attribute Key (related collection): groups, Cascade on delete)Relationship (Two-way Relationship with Users; Many to Many,
Attribute Key (related collection): UserMember, Set Null on delete)Friends
Relationship (Two-way Relationship with Users; Many to many,
Attribute Key (related collection): friendCollection, Set Null on delete)Relationship (Two-way Relationship with Users; Many to one,
Attribute Key (related collection): List, Set Null on delete)Activity
string (Default: -)DateTime (Default: -)string (Default: -) Note: If you change this spelling (Amout), update it in the React app.boolean (Default: false)Relationship (Two-way Relationship with Users; Many to many,
Attribute Key (related collection): members, Set Null on delete)Relationship (Two-way Relationship with Users; ,
Attribute Key (related collection): , Set Null on delete)Navigate to Collection Settings:
Modify Permissions:
Any.Save Changes:
.env.local file and add the copied IDs as follows:.env.sampleVITE_APPWRITE_URL='https://cloud.appwrite.io/v1'
VITE_APPWRITE_PROJECT_ID='67c067565211fbcf173'
VITE_APPWRITE_DATABASE_ID='657c0953b37f27853d8'
VITE_APPWRITE_USER_COLLECTION_ID='657casd56db7f49cee3b20'
VITE_APPWRITE_GROUPS_COLLECTION_ID='657c09839424664asd87496'
VITE_APPWRITE_ACTIVITY_COLLECTION_ID='657c099dd2eda1ddebb'
VITE_APPWRITE_FRIENDS_COLLECTION_ID='681b28b356casds5dd28d'
VITE_APPWRITE_TRANSACTION_COLLECTION_ID='65aasd54f3a07aec3c8'
Finally, start the development server:
npm run dev
Deploy on Vercel:
Configure Appwrite Integration:
https://your-project-name.vercel.app).Web App.Name field, paste your Vercel deployment URL, and in the Hostname field, enter *.vercel.app.Complete Setup:
If you encounter any issues with the database or need further assistance, feel free to email me at: p1.sirsat1998@gmail.com.
https://github.com/user-attachments/assets/a09c0edf-5d71-4417-b03d-39db91105be6
Google Drive Complete Application DOC
React - A JavaScript library for building user interfaces. React Router - Declarative routing for React.js. Tailwind CSS - A utility-first CSS framework.
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
parserOptions property like this:export default {
// other rules...
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
project: ["./tsconfig.json", "./tsconfig.node.json"],
tsconfigRootDir: __dirname,
},
};
plugin:@typescript-eslint/recommended to plugin:@typescript-eslint/recommended-type-checked or plugin:@typescript-eslint/strict-type-checkedplugin:@typescript-eslint/stylistic-type-checkedplugin:react/recommended & plugin:react/jsx-runtime to the extends listMany to oneactivityRelationship (Two-way Relationship with Groups; Many to one,
Attribute Key (related collection): activity, Cascade on delete)Transaction
string (Default: -)DateTime (Default: -)boolean (Default: false)Relationship (Two-way Relationship with Users; Many to one,
Attribute Key (related collection): transaction, Set Null on delete)Relationship (Two-way Relationship with Users; Many to one,
Attribute Key (related collection): transactionId, Set Null on delete)