Skip to content

Commit e14f61a

Browse files
authored
Update README.md
1 parent 06f2471 commit e14f61a

1 file changed

Lines changed: 92 additions & 7 deletions

File tree

README.md

Lines changed: 92 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,97 @@
1-
# React + Vite
1+
# SmartNotesAI 🧠✨
22

3-
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
3+
SmartNotesAI is a modern notes app with built-in AI-powered study tools. Create, edit, and delete notes with ease — then take it a step further by summarizing them or generating flashcards using AI.
44

5-
Currently, two official plugins are available:
5+
🔗 [Live Demo](https://smartnotes-b128a.web.app/)
66

7-
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8-
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
7+
---
98

10-
## Expanding the ESLint configuration
9+
## 🚀 Features
1110

12-
If you are developing a production application, we recommend using TypeScript and enable type-aware lint rules. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.
11+
- 🔐 Firebase Authentication (Google login)
12+
- 📝 Create, update, and delete notes
13+
- 🤖 AI tools powered by OpenAI:
14+
- Summarize notes
15+
- Generate flashcards
16+
- 🎯 Daily limit of 5 AI uses per user
17+
- 📱 Fully responsive design
18+
- 🛡️ reCAPTCHA verification for reset password
19+
20+
---
21+
22+
## 🧰 Tech Stack
23+
24+
- **Frontend:** React.js, Tailwind CSS, React Router, React Hook Form, React Icons, Google reCAPTCHA
25+
- **Backend/Services:** Firebase (Auth, Firestore, Functions, Hosting)
26+
- **AI Integration:** OpenAI API via Firebase Cloud Functions
27+
28+
---
29+
30+
## 🖼️ Screenshots
31+
32+
Comming soon...
33+
34+
---
35+
36+
## ⚙️ Getting Started
37+
38+
Note: You'll need a Firebase project and OpenAI key
39+
40+
To run SmartNotesAI locally:
41+
42+
```bash
43+
# Clone the repository
44+
git clone https://github.com/your-username/smartnotesai.git
45+
cd smartnotesai
46+
47+
# Install dependencies
48+
npm install
49+
50+
# Start the development server
51+
npm run dev
52+
```
53+
54+
# 🔑 Environment Variables
55+
Create a `.env` file in the root directory and add your Firebase config:
56+
57+
```env
58+
VITE_FIREBASE_API_KEY=your_key_here
59+
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
60+
VITE_FIREBASE_PROJECT_ID=your_project_id
61+
VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket
62+
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
63+
VITE_FIREBASE_APP_ID=your_app_id
64+
VITE_OPENAI_API_KEY=your_openai_key # Only if used on client side
65+
```
66+
67+
Create a `.env` file in root/functions directory and add your OpenAI key:
68+
69+
```env
70+
OPENAI_API_KEY=your_key_here
71+
```
72+
73+
## 🚀 Deploying Firebase Functions
74+
75+
To deploy the Firebase Functions (backend API), follow these steps:
76+
77+
```bash
78+
# Install Firebase CLI (if not installed already):
79+
npm install -g firebase-tools
80+
81+
# Login to firebase
82+
firebase login
83+
84+
# Navigate to your project directory(should be root/functions):
85+
cd your_project_dir
86+
87+
# Deploy the functions
88+
firebase deploy --only functions
89+
```
90+
# 📝 Notes
91+
This was my first time creating a AI powered app aswell as using firebase functions, so I learned a lot overall from this project and cant wait to build more cool things using the new tools I learned in the future
92+
To prevent abuse, AI usage is currently limited to 5 requests per day. In the future, I plan to add an upgrade system to allow for more.
93+
94+
# 📌 Future Improvements
95+
- Subscription to access more usages/ ai features
96+
- AI powered quizes
97+
- Improvements on current features(summaries/ flashcards)

0 commit comments

Comments
 (0)