A modern, responsive web application for creating and managing notes with a clean and intuitive interface.
- Create Notes: Easily create new notes with a title and content using the floating "+" button
- Read Notes: View all notes in a responsive grid layout
- Update Notes: Edit existing notes by clicking on them and using the edit button
- Delete Notes: Remove unwanted notes with a delete button
- Auto-save: All changes are automatically saved to the database
- Responsive Grid Layout: Notes are displayed in a grid that automatically adjusts to screen size
- Modal Windows: Create and edit notes in modal windows for a focused experience
- Hover Effects: Interactive hover animations for better user feedback
- Timestamps: Each note displays creation and last update times
- Error Handling: User-friendly error messages for failed operations
- Real-time Updates: UI updates immediately reflect database changes
- Data Persistence: All notes are stored in an SQLite database
- Overflow Management: Long content is handled gracefully with scrolling
- Responsive Design: Works on both desktop and mobile devices
- React.js
- CSS3 with Flexbox/Grid
- Modern JavaScript (ES6+)
- Node.js
- Express.js
- SQLite3 Database
- Prisma (ORM)
- Click the "+" button in the bottom right corner
- Enter a title and content in the modal window
- Click "Save" to create the note
- All notes are displayed in the main grid
- Click on any note to view its full content
- Click on an existing note to open it
- Click the "Edit" button
- Modify the title and/or content
- Click "Save" to update the note
- Click on an existing note to open it
- Click the "Delete" button
- The note will be permanently removed
- Clone the repository
- Install dependencies:
# Install frontend dependencies cd frontend npm install # Install backend dependencies cd ../server npm install npx prisma generate
- Start the backend server:
cd server npm start - Start the frontend development server:
cd frontend npm start - Open
http://localhost:3000in your browser - After making a change to the db schema, run
npx prisma migrate dev --schema=./db/schema.prismato create a new migration to the database - If a change was made, re-run
npx prisma generateto generate the new changes.
Feel free to submit issues and enhancement requests!
This project is licensed under the MIT License - see the LICENSE file for details.