NoteApp
NoteApp is a web application designed to help users manage their notes efficiently and securely. The app allows users to create, edit, delete, and categorize notes with ease. It also supports user authentication, tag-based filtering, and note searching to make organization even simpler.
Features
- User Authentication: Register, login, and logout functionalities with session management.
- Note Management: Create, edit, delete, and view notes with a user-friendly interface.
- Tagging System: Assign tags to notes for better organization and filtering.
- Search Notes: Quickly search notes by title or content.
- Responsive Design: Fully responsive design for desktop and mobile users.
- Security: Secure login and session handling.
- Data Synchronization: Sync your notes across multiple devices (if extended with real-time features).
Technologies Used
- Backend: Node.js with Express.js framework for building the server.
- Database: MongoDB with Mongoose for data storage and retrieval.
- Templating: Pug.js for server-side rendering and templating.
- Authentication: Sessions and cookies for secure login management.
- Styling: Bootstrap 5 for responsive design and user interface components.
- Logging: Winston for logging application activity.
- Icons: Font Awesome for UI icons.
Getting Started
Prerequisites
Before you begin, ensure you have the following installed:
- Node.js (v14+)
- MongoDB (local or cloud instance)
- Git (for version control)
- npm (Node Package Manager)
Installation
-
Clone the repository:
git clone https://github.com/your-username/noteapp.git cd noteapp -
Install dependencies:
npm install -
Create a
.envfile for environment variables:touch .env -
Add the following environment variables in the
.envfile:MONGODB_URI=mongodb://localhost:27017/noteapp SESSION_SECRET=yourSecretKey PORT=3000 -
Start MongoDB (if running locally):
mongod
Running the App
-
Start the server:
npm start -
Open your browser and navigate to:
http://localhost:3000
Development
For development mode with live-reload (using nodemon):
npm run dev
Folder Structure
.
├── models # Mongoose models for Notes, Users, and Tags
├── routes # Express routes for authentication, notes, tags
├── views # Pug templates for the UI
├── public # Static files (CSS, JS, images)
├── controllers # Controller logic for handling requests
├── middleware # Custom middleware functions (e.g., authentication)
├── logs # Log files
└── app.js # Main server file
Related blogs

Quy trình tự động hóa đánh giá CV với Google Apps Script
Tìm hiểu cách sử dụng Google Apps Script để tự động hóa quy trình đánh giá CV, giúp tiết kiệm thời gian và nâng cao hiệu quả công việc.

Tìm Hiểu Về Alembic - Thư Viện Migration Cho Python
Hướng dẫn chi tiết về Alembic, thư viện migration mạnh mẽ cho Python, giúp quản lý và áp dụng các thay đổi trong cơ sở dữ liệu một cách dễ dàng.

Định dạng số thành tiền Việt Nam Đồng trong JavaScript
Hướng dẫn cách định dạng số thành tiền Việt Nam Đồng (VND) trong JavaScript một cách đơn giản và hiệu quả.