Smart Notes is an AI-powered note-taking application that helps users create, organize, and search their notes more effectively. The application provides advanced features such as voice recording transcription, PDF attachment support, and semantic search capabilities.
The project consists of two main components:
- Frontend: Mobile app built with Expo/React Native
- Backend: FastAPI server with AI capabilities
- Note Management: Create, edit, and delete notes
- Rich Text Editing: Markdown-based note editor
- Voice Recording: Record and transcribe voice notes
- Document Support: Attach and extract content from PDF files
- AI-powered Search: Semantic search across notes, voice recordings, and documents
- Authentication: Google OAuth integration
- Framework: React Native with Expo
- State Management: Redux Toolkit
- Styling: TailwindCSS (via NativeWind)
- Navigation: Expo Router
- Authentication: Google Sign-In
- Framework: FastAPI
- Database: SQLModel (SQLAlchemy ORM)
- Vector Database: ChromaDB
- AI Integration: OpenAI, Google Generative AI
- Speech Recognition: AssemblyAI
- Authentication: JWT-based with Google OAuth
app/main.py: Main application entry pointapp/ai.py: AI-related functionalityapp/routers/: API endpointsapp/core/: Core functionality including database models and securityapp/repositories/: Data access layer
app/src/app/: Main app screens and navigationapp/src/components/: Reusable UI componentsapp/src/redux/: State managementapp/src/services/: API service clientsapp/src/hooks/: Custom React hooks