A modern, minimalist note-taking application that lets you record and transcribe your thoughts effortlessly. Built with Angular and Firebase, enhanced with Groq AI for intelligent note processing.
- Voice Recording: Capture your thoughts through voice recordings
- Real-time Transcription: Automatic transcription of voice recordings to text
- AI-Powered Processing: Intelligent note summarization and tagging using Groq AI
- Google Authentication: Secure login with your Google account
- Cloud Storage: All notes are securely stored in Firebase
- Responsive Design: Beautiful, minimalist interface that works on all devices
- Tag System: Organize your notes with customizable tags and AI-suggested tags
- Rich Text Support: Format your notes with markdown-style syntax
- Offline Support: Local storage for audio recordings
- Frontend: Angular 17
- Authentication: Firebase Authentication
- Database: Firebase Realtime Database
- Storage: Firebase Storage
- Hosting: Firebase Hosting
- Speech-to-Text: Web Speech API
- AI Processing: Groq API
- Styling: SCSS with CSS Variables
- Node.js (v18 or higher)
- npm (v9 or higher)
- Angular CLI (v17 or higher)
- Firebase CLI
- Groq API Key
- Clone the repository:
git clone https://github.com/yourusername/noted.git
cd noted
- Install dependencies:
npm install
- Set up environment variables:
- Create
src/environments/environment.ts
andenvironment.prod.ts
- Add your Firebase and Groq API configurations:
- Create
export const environment = {
production: false, // or true for prod
firebase: {
// Your Firebase config
},
groq: {
apiKey: 'your-groq-api-key'
}
};
-
Set up Firebase:
- Create a new Firebase project
- Enable Authentication with Google provider
- Enable Realtime Database
- Enable Storage
- Copy your Firebase config to environments files
-
Start the development server:
ng serve
- Open your browser and navigate to
http://localhost:4200
ng build --configuration production
firebase deploy
noted/
├── src/
│ ├── app/
│ │ ├── core/ # Core modules, services, and components
│ │ │ ├── components/ # Shared components (header, etc.)
│ │ │ ├── services/ # Global services (auth, groq, etc.)
│ │ │ └── models/ # TypeScript interfaces and models
│ │ ├── features/ # Feature modules
│ │ │ ├── note-list/ # Note list view
│ │ │ ├── note-detail/ # Note detail view
│ │ │ └── recording-dialog/ # Recording functionality
│ │ └── app.component.* # Root component
│ ├── assets/ # Static assets
│ └── environments/ # Environment configurations
└── firebase.json # Firebase configuration
- Google Sign-in integration
- Secure user sessions
- Profile management with user photo and name display
- Create notes through voice recording
- Real-time transcription of audio
- AI-powered summarization and tagging
- Edit and format note content
- Add and manage tags
- Delete notes
- View note history
- Automatic note summarization
- Smart tag suggestions
- Content organization
- Key points extraction
- Dark mode design
- Responsive layout
- Intuitive navigation
- Clean, minimalist aesthetic
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project uses environment files to store sensitive API keys and configurations. These files are not committed to the repository. See the Installation section for setup instructions.