A modern, responsive web application for managing personal notes with a beautiful user interface and full CRUD functionality.
- Create Notes: Add new notes with titles and rich content
- Edit Notes: Update existing notes with real-time editing
- Delete Notes: Remove notes you no longer need
- Search Notes: Find notes quickly by searching titles and content
- Auto-save: Notes are automatically saved as you type
- AI Note Creation: Generate notes from ideas using AI assistance
- AI Translation: Translate note content between multiple languages
- Markdown Preview: View notes with rich Markdown formatting
- Unsaved Changes Warning: Prevent accidental data loss
- Responsive Design: Works perfectly on desktop and mobile devices
- Modern UI: Beautiful gradient design with smooth animations
- Real-time Updates: Instant feedback and updates
The application is deployed and accessible at: https://3dhkilc88dkk.manus.space
- HTML5: Semantic markup structure
- CSS3: Modern styling with gradients, animations, and responsive design
- JavaScript (ES6+): Interactive functionality and API communication
- Python Flask: Web framework for API endpoints
- SQLAlchemy: ORM for database operations
- Flask-CORS: Cross-origin resource sharing support
- SQLite: Lightweight, file-based database for data persistence
notetaking-app/
βββ src/
β βββ models/
β β βββ user.py # User model (template)
β β βββ note.py # Note model with database schema
β βββ routes/
β β βββ user.py # User API routes (template)
β β βββ note.py # Note API endpoints
β βββ static/
β β βββ index.html # Frontend application
β β βββ favicon.ico # Application icon
β βββ database/
β β βββ app.db # SQLite database file
β βββ main.py # Flask application entry point
βββ venv/ # Python virtual environment
βββ requirements.txt # Python dependencies
βββ README.md # This file
- Python 3.11+
- pip (Python package manager)
-
Clone or download the project
python -m venv venv
-
Activate the virtual environment
source venv/bin/activateRemark: On Windows, use
venv\Scripts\activate -
Install dependencies
pip install -r requirements.txt
-
Run the application
python src/main.py
-
Access the application
- Open your browser and go to
http://localhost:5001
- Open your browser and go to
GET /api/notes- Get all notesPOST /api/notes- Create a new noteGET /api/notes/<id>- Get a specific notePUT /api/notes/<id>- Update a noteDELETE /api/notes/<id>- Delete a noteGET /api/notes/search?q=<query>- Search notes
POST /api/ai/chat- AI chat completion (streaming)GET /api/ai/config- Get AI configuration status
{
"id": 1,
"title": "My Note Title",
"content": "Note content here...",
"created_at": "2025-09-03T11:26:38.123456",
"updated_at": "2025-09-03T11:27:30.654321"
}- Search Box: Real-time search through note titles and content
- New Note Button: Create new notes instantly
- Notes List: Scrollable list of all notes with previews
- Note Previews: Show title, content preview, and last modified date
- Title Input: Edit note titles
- Content Textarea: Rich text editing area
- Save Button: Manual save option (auto-save also available)
- Delete Button: Remove notes with confirmation
- Real-time Updates: Changes reflected immediately
- Gradient Background: Beautiful purple gradient backdrop
- Glass Morphism: Semi-transparent panels with backdrop blur
- Smooth Animations: Hover effects and transitions
- Responsive Layout: Adapts to different screen sizes
- Modern Typography: Clean, readable font stack
CREATE TABLE note (
id INTEGER PRIMARY KEY,
title VARCHAR(200) NOT NULL,
content TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);The application is configured for easy deployment with:
- CORS enabled for cross-origin requests
- Host binding to
0.0.0.0for external access - Production-ready Flask configuration
- Persistent SQLite database
FLASK_ENV: Set todevelopmentfor debug modeSECRET_KEY: Flask secret key for sessions
- Database file:
src/database/app.db - Automatic table creation on first run
- SQLAlchemy ORM for database operations
- Chrome/Chromium (recommended)
- Firefox
- Safari
- Edge
- Mobile browsers (iOS Safari, Chrome Mobile)
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
For issues or questions:
- Check the browser console for error messages
- Verify the Flask server is running
- Ensure all dependencies are installed
- Check network connectivity for the deployed version
Potential improvements for future versions:
- User authentication and multi-user support
- Note categories and tags
- Rich text formatting (bold, italic, lists)
- File attachments
- Export functionality (PDF, Markdown)
- Dark/light theme toggle
- Offline support with service workers
- Note sharing capabilities
Built with β€οΈ using Flask, SQLite, and modern web technologies