Skip to content

A full-stack web application for managing personal notes with search functionality.

Notifications You must be signed in to change notification settings

Nazrulalif/notes-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Notes App

A full-stack web application for managing personal notes with search functionality.

Features

  • User authentication
  • Create, read, update, and delete notes
  • Search notes
  • Responsive design for mobile and desktop
  • Pin important notes
  • Tag system for organization

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v14.0.0 or higher)
  • npm (v6.0.0 or higher)
  • MongoDB (v4.0.0 or higher)

Installation

1. Clone the Repository

git clone <repository-url>
cd notes-app

2. Server Setup

Navigate to the server directory:

cd server

Install dependencies:

npm update

Create a .env file in the server directory with the following variables:

ACCESS_TOKEN_SECRET=<token>

Create a config.json file in the server directory with the following variables:

{
    "connectionString":"<MongoDB string>"
}

Start the server:

npm run start

3. Client Setup

Open a new terminal and navigate to the client directory:

cd client

Install dependencies:

npm update

Start the client application:

npm run dev

Project Structure

Client

client/
├── public/
├── src/
│   ├── components/
│   │   ├── card/
│   │   ├── profile/
│   │   └── searchBar/
│   ├── pages/
│   │   └── home/
│   ├── utils/
│   └── App.js
└── package.json

Server

server/
├── controllers/
├── middleware/
├── models/
├── routes/
├── config/
└── server.js

Available Scripts

In the client directory:

  • npm run dev - Runs the app in development mode
  • npm run build - Builds the app for production

In the server directory:

  • npm run start - Starts the server with nodemon
  • npm start - Starts the server in production mode

API Endpoints

Authentication

  • POST /api/register - Register new user
  • POST /api/login - User login
  • GET /api/get-user - Get user information

Notes

  • GET /api/get-all-notes - Get all notes
  • POST /api/add-note - Create new note
  • PUT /api/update-note/:id - Update note
  • DELETE /api/delete-note/:id - Delete note
  • GET /api/search-note - Search notes

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Support

For support, email [email protected] or create an issue in the repository.

About

A full-stack web application for managing personal notes with search functionality.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published