![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzY1ODksIm5iZiI6MTczOTEzNjI4OSwicGF0aCI6Ii80NzI3MDk5NS8yNDYzMTE4NjgtZDMxN2Y1NTYtOWNlZS00MzBlLThmYzktODQxZDE1NTI3ZWYyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIxMjQ0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFiNTQ5YmQ4ODhiNzc1NjI5NWIyMzk2ZDFkNDdjYzhiMzkxNGQxNGQwNDRmMjA1MTI5N2ViODhhNmYwZjc2NzQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.IGqPiz-pSEjPMCJVGtuPED6utWJyUTnxamdmjZztIwo)
- 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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzY1ODksIm5iZiI6MTczOTEzNjI4OSwicGF0aCI6Ii80NzI3MDk5NS8yNDYzMTE4NTEtM2NkNmYxOGMtOWYxMy00OTBjLWE5MzktY2JlZjllODNkNDk1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIxMjQ0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNhMzkzYWI4ODZiMWUyNzhkYTljZmMyMjExZGE3ODllMThhZDhlYzdjMWQ1M2ZiYjczMzg1Y2Y4NTU5NmVjZDAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.ja8DlGFwlbp8ip4-E24HicPXp6VpCw4_RwBlZirZoQk)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzY1ODksIm5iZiI6MTczOTEzNjI4OSwicGF0aCI6Ii80NzI3MDk5NS8yNDYzMTE4NDktYmZmNjkxYjEtOTZlYS00M2RhLTg3MDktMGFmZGI1N2VhOTZjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIxMjQ0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ5OTBlYWZiNDRkMzg2YzU2OWVhYzE1MzZhNDc0ODA4OGQ5MzE4N2ViZDI4MjMwOGU4ZDAwYjlhZmQxZjQxODUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.WSlJb7bC7PtoZpN5BAWNdSgI27RjaY3Jz9UnjA4nGW0)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzY1ODksIm5iZiI6MTczOTEzNjI4OSwicGF0aCI6Ii80NzI3MDk5NS8yNDYzMTE4NDgtOTEzYjQzOTUtNjE5YS00MDdiLTg2YzgtNDc1NmMwNDIzYWE3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIxMjQ0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ3OTlmYmFjNTYzNjY2NGYyMWVkZjdmMDY0NjBlZGJmOTk1ZDNhMTM2M2MyYWQwYmU0NDE1YzRlNjI5YTRmNGYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.M-KaafHemWlJOxZbRFP_TAjTqy3SdmfOGqcfZcShE0U)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzY1ODksIm5iZiI6MTczOTEzNjI4OSwicGF0aCI6Ii80NzI3MDk5NS8yNDYzMTE4NDEtM2Y1NDg0YWMtZTRhZi00NGJmLWJiMmItZTlkMTMzNWQ1ZGQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIxMjQ0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTlkN2MxMzFhYjFhZGRkMDMyZmM3OGRjOTg0OTg3YWQxYjUxNTNkZWI5ODZkNTRlNGRmZDM3MTRiZDU4MWJkODMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.IEs4ZRGoxHRnbQnuWtOA7Y4PH4Sj_l82MrAEkctNy9o)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzY1ODksIm5iZiI6MTczOTEzNjI4OSwicGF0aCI6Ii80NzI3MDk5NS8yNDYzMTE4MzktOTQ4OTAyMGUtMmUyMi00ZTkzLTliNWYtOThhZjA1YjFhNzc0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIxMjQ0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI1N2QzYTIzOWU4OWRiYmVjYjE1NDY0NTIxYmIxZTA5ZDgyNDA2ZmFkYTU0NjEwMTU1ZGNjODBhNmUxNzA4NDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.OS_-4bqRhM4GEmsEhnQ3bdY6kY2x_Qt_Mf0S79QUr5o)