![Screenshot 2023-06-13 at 11 58 22 PM](https://private-user-images.githubusercontent.com/47270995/246311868-d317f556-9cee-430e-8fc9-841d15527ef2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NDQ3NzMsIm5iZiI6MTczOTY0NDQ3MywicGF0aCI6Ii80NzI3MDk5NS8yNDYzMTE4NjgtZDMxN2Y1NTYtOWNlZS00MzBlLThmYzktODQxZDE1NTI3ZWYyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDE4MzQzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFkYmE2MGIxZjg5ZDE5Y2QyMmFlZTAyY2IxZjU5MzMwMzhkNTNlNmZhMzcxNmJkMWY3MmE3NDM3NTg0ZjMzZDImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.myM22ZP2VN8-tYUOfz2yA4NpSwT24mKXlctzwQ5zljU)
- Make a project on Appwrite
- Make a database (copy database ID)
- Make 3 collections (copy their IDs) for expenses, budgets, incomes.
- Make a bucket (copy ID)
- Make a .env file containing.
NEXT_PUBLIC_APPWRITE_PROJECT_ID=<project ID>
NEXT_PUBLIC_APPWRITE_ENDPOINT=<appwrite endpoint> (you get this when creating your project on appwrite)
NEXT_PUBLIC_DATABASE_ID=<db ID>
NEXT_PUBLIC_EXPENSES_COLLECTION_ID=<expenses collection ID>
NEXT_PUBLIC_INCOMES_COLLECTION_ID=<incomes collection ID>
NEXT_PUBLIC_BUDGETS_COLLECTION_ID=<budgets collection ID>
NEXT_PUBLIC_BUCKET_ID=<bucket storage ID>
- Make relevant indexes.
Keeping these interfaces/types in mind. (these are attributes).
Transaction -> expenses / incomes.
Budget -> budget
export interface Transaction {
amount: number;
category: string;
currency: string;
date: string;
description: string;
tag: string;
title: string;
userId: string;
attachments?: string[];
}
export type Budget = {
title: string;
description: string;
userId: string;
food?: number;
transportation?: number;
travel?: number;
housing?: number;
healthcare?: number;
education?: number;
personal?: number;
insurance?: number;
savings?: number;
investments?: number;
business?: number;
utilities?: number;
other?: number;
amount: number;
entertainment?: number;
startingDate: string;
endDate: string;
currency: string;
}
- Install dependencies
- yarn dev
![Screenshot 2023-06-12 at 10 32 52 AM](https://private-user-images.githubusercontent.com/47270995/246311851-3cd6f18c-9f13-490c-a939-cbef9e83d495.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NDQ3NzMsIm5iZiI6MTczOTY0NDQ3MywicGF0aCI6Ii80NzI3MDk5NS8yNDYzMTE4NTEtM2NkNmYxOGMtOWYxMy00OTBjLWE5MzktY2JlZjllODNkNDk1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDE4MzQzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdhZjgyMWUwNjlkMTczMjg1ZjYwZGVjN2I3MTVhYmMwNzdkODc1MjUyYmFlOThmOTc4ZjQxZjMyYzgzMjAzMjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.lZO74l9DoTajNjo5976jh9vct5fNELR884jIshmuRnc)
![Screenshot 2023-06-11 at 6 15 15 PM](https://private-user-images.githubusercontent.com/47270995/246311849-bff691b1-96ea-43da-8709-0afdb57ea96c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NDQ3NzMsIm5iZiI6MTczOTY0NDQ3MywicGF0aCI6Ii80NzI3MDk5NS8yNDYzMTE4NDktYmZmNjkxYjEtOTZlYS00M2RhLTg3MDktMGFmZGI1N2VhOTZjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDE4MzQzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdlYzU0MjIzMjczZmIzMDFiZmIxYzUyMTA3YTkxYmRkMDU2MDlhZmJlMzk5MDRjMjdmNTEwNDNhODhhYWZjZWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.AYlMJz7i2oHqXa6fQ6b90yUIhGEazlVuSnIuYeiNrvg)
![Screenshot 2023-06-11 at 6 15 01 PM](https://private-user-images.githubusercontent.com/47270995/246311848-913b4395-619a-407b-86c8-4756c0423aa7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NDQ3NzMsIm5iZiI6MTczOTY0NDQ3MywicGF0aCI6Ii80NzI3MDk5NS8yNDYzMTE4NDgtOTEzYjQzOTUtNjE5YS00MDdiLTg2YzgtNDc1NmMwNDIzYWE3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDE4MzQzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZjODkxYzZhYmIwMzEyZjFhNzMyZmY3YjQyZDk2NTc0NzNkYjcyZTY2NTk1NDFhN2Y4ZDQ0ZGY3NGUzOGQxOGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.VQWFVoJbSbLr5EK1qcu2lmMJ5Dtj0e4NjzbxLmMfoXo)
![Screenshot 2023-06-11 at 6 14 53 PM](https://private-user-images.githubusercontent.com/47270995/246311841-3f5484ac-e4af-44bf-bb2b-e9d1335d5dd3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NDQ3NzMsIm5iZiI6MTczOTY0NDQ3MywicGF0aCI6Ii80NzI3MDk5NS8yNDYzMTE4NDEtM2Y1NDg0YWMtZTRhZi00NGJmLWJiMmItZTlkMTMzNWQ1ZGQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDE4MzQzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNkMjc3MTlmNDUzMjQ1NDc2MTdjM2I0MDNmM2VlZDYxZWM2ZjlhOGNjNTE0MzIyMWYwOWMxNTc3MzEzZWY2OTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.1k00qPRUeBkVOkziGBZFdEFed1H_869_IQnmOc79O_M)
![Screenshot 2023-06-11 at 5 30 18 PM](https://private-user-images.githubusercontent.com/47270995/246311839-9489020e-2e22-4e93-9b5f-98af05b1a774.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NDQ3NzMsIm5iZiI6MTczOTY0NDQ3MywicGF0aCI6Ii80NzI3MDk5NS8yNDYzMTE4MzktOTQ4OTAyMGUtMmUyMi00ZTkzLTliNWYtOThhZjA1YjFhNzc0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDE4MzQzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY0MjY5YTQ4NGUyYjI3ZDUyMzllOTExMDRmNWYwNTk0M2Y5Njg3OTc0ZWRiY2UxMDU0Y2E5YjZjODg1NWE0YzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Xt2eyZbazps-SJdn4O3kDuG7RQB-pdZd87XHJTYB3bQ)