Paye is a web application that allows users to track their expenses, split bills with friends, and manage their financial activities efficiently. Built using modern web technologies, Paye leverages Next.js for the frontend, Shadcn UI for styling, and Supabase for backend services including database management and user authentication.
Before you begin, ensure you have the following installed:
-
Clone the Repository
git clone https://github.com/yourusername/paye.git cd paye
-
Install Dependencies
npm install
-
Set Up Supabase
- Go to the Supabase Dashboard.
- Create a new project and obtain the
API URL
andAnon Key
. - Create the necessary tables (
expenses
,shares
,users
, etc.) as per the schema provided earlier.
-
Environment Variables
- Create a
.env.local
file in the root directory and add your Supabase credentials:NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
- Create a
-
Run the Development Server
npm run dev
Open http://localhost:3000 in your browser to see the app in action.
Paye uses Supabase for user authentication. Users can sign up, log in, and log out.
Users can create and manage their expenses. Each expense includes a title, amount, description, category, and date.
Users can split expenses with friends. Each friend's share is recorded, and the status of each share can be tracked (e.g., pending, paid).
Users receive notifications when someone marks their share as paid. The notification system allows users to accept or reject the payment status.
Feel free to customize the project and add more features as needed. Happy coding!