NoteNest is a feature-rich personal notes and task management application designed to help you stay organized and productive. Built with a robust client-server architecture, NoteNest allows users to:
- Create, edit, and manage notes.
- Organize and track tasks effectively.
- Provide and receive feedback for collaborative improvements.
- Enjoy a sleek and responsive UI powered by ShadCN components.
-
Notes Management: Effortlessly create, edit, delete, and search through your notes.
-
Task Tracking: Organize your tasks with status updates, due dates, and priority management.
-
Feedback System: Submit feedback to enhance your experience or report issues.
-
Modern UI: Built with ShadCN components, ensuring a clean, accessible, and responsive design.
-
Secure Backend: Utilizes salted hashing with PEPPER and secure JWT tokens for user authentication.
Before running the app, ensure you have the following installed:
- Node.js
- npm (Node Package Manager)
- MongoDB
To set up NoteNest, clone this repository and install dependencies for both the client and server.
-
Navigate to the
client
directory:cd client
-
Install dependencies:
npm install
-
Create a
.env
file in theclient
directory with the following content:VITE_SERVER=<YOUR_SERVER_URL>
-
Run the client application:
npm run dev
The client app will run on
http://localhost:5173
.
-
Navigate to the
server
directory:cd server
-
Install dependencies:
npm install
-
Create a
.env
file in theserver
directory with the following content:DATABASE_URI=<YOUR_MONGODB_URI> PORT=<YOUR_SERVER_PORT> CLIENT_URL=<YOUR_CLIENT_URL> PEPPER=<YOUR_PEPPER_VALUE> JWT_SECRET=<YOUR_JWT_SECRET>
-
Run the server application:
npm run dev
The server app will run on
http://localhost:5000
.
Once the client and server are running, you can access NoteNest by navigating to:
- Frontend: React with ShadCN UI components.
- Backend: Node.js, Express.js.
- Database: MongoDB.
- Authentication: JWT with salted password hashing using PEPPER.
- Environment Management:
.env
for secure configurations.
We welcome contributions! To contribute:
- Fork the repository.
- Create a new branch for your feature/bugfix.
- Commit your changes and submit a pull request.
Encounter issues or have suggestions? Submit your feedback through the app or raise an issue on the GitHub repository.