Veenote is a web-based application that enables real-time voice-to-text transcription, allowing users to take notes efficiently without the need for manual typing. It leverages WebSocket for real-time audio streaming, AWS Transcribe for voice recognition, and MongoDB for data storage, offering a seamless note-taking experience across various devices.
- Real-time voice-to-text transcription.
- WebSocket implementation for live audio streaming.
- Integration with AWS Transcribe for accurate voice recognition.
- Persistent storage of notes in MongoDB.
- Cross-platform web application accessible via any modern browser.
- Node.js
- MongoDB
- AWS account with access to Transcribe services
git clone https://github.com/horlami228/Veenote.git
cd Veenote
- First install the necessary depencies and setup your credentials
cd backend_veenote
npm install
touch src/config/config.ts
touch src/aws/.env
export interface DbConfig {
uri: string;
}
export interface Config {
development: DbConfig;
production: DbConfig;
}
export const config: Config = {
development: {
uri: 'mongodb://{{host}}:{{port}}/{{db}}',
},
production: {
uri: process.env.DATABASE_URI || '',
}
};
AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY_ID
AWS_REGION=YOUR_REGION
- The server runs at port 8000 by default to change port
export PORT={{}}
- npm script to run
npm run start
- run the frontend server using nextjs
- default port is 3000
cd frontend_veenote/veenote
npm install
npm run start
The application will be available at http://localhost:3000
.
- Navigate to
http://localhost:3000
in your web browser. - Start a new note-taking session by clicking the 'Record' button.
- Speak into your microphone to capture and transcribe your notes in real time.
- Save your transcription for later reference or further editing by signing up.
- Client-Side: Captures audio input and streams it to the server via WebSocket.
- Server-Side: Receives audio streams, processes them with AWS Transcribe, and stores the resulting text in MongoDB.
- Database: MongoDB is used for storing user notes and respective folders, ensuring data persistence and retrievability.
This project is licensed under the MIT License - see the LICENSE file for details.
For any inquiries or further information, reach out to:
- Name: Akintola Olamilekan
- Email: [email protected]
- GitHub: github.com/horlami228