This is the backend component for the Personal Notes & Bookmark Manager application, built with Node.js, Express, and Prisma (PostgreSQL). It provides a RESTful API for managing user authentication, notes, and bookmarks.
- Features
- Tech Stack
- Getting Started
- API Documentation
- Testing
- Project Structure
- Contribution
- License
- User Authentication (Register, Login, Profile Management) with JWT.
- CRUD operations for Notes (Create, Read, Update, Delete).
- CRUD operations for Bookmarks (Create, Read, Update, Delete).
- Search and filter notes/bookmarks by keywords and tags.
- Mark notes/bookmarks as favorites.
- Auto-fetch title for bookmarks from URLs (Bonus Feature).
- Robust validation and error handling.
- Backend: Node.js, Express.js
- Database: PostgreSQL (via Prisma ORM)
- ORM: Prisma
- Authentication: JSON Web Tokens (JWT), bcryptjs for password hashing.
- Validation: express-validator
- Environment Management: dotenv
- Other Utilities: CORS, Helmet (for security headers, if implemented), Axios (for URL metadata fetching).
Follow these steps to get the backend up and running on your local machine.
- Node.js (v18 or higher recommended)
- npm (Node Package Manager)
- A PostgreSQL instance
-
Clone the repository:
git clone <your-repository-url> cd notes-bookmarks-backend
-
Install dependencies:
npm install
Create a .env
file in the root of the project and populate it with the following required environment variables: