Skip to content

This is a small note app that can add or delete notes in different categories and run on a simple server as its database (JSON-Server) for saving data.

License

Notifications You must be signed in to change notification settings

Elio-Aliaj/React-Note-App

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Banner

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Farther app development
  5. Screenshots

About The Project

This is a small note app that can add or delete notes in different categories and run on a simple server as its database (JSON-Server) for saving data.

A screenshot of the app

Features

  • Can create categories with different notes in it
  • Add notes or delete them
  • Modify notes and save them on the server
  • Search through notes to find the one you want
  • Every data is saved in a file in JSON format

Technology

  • React: React is a popular JavaScript library for building user interfaces. It allows developers to create interactive and dynamic web applications with reusable components.

  • Node.js: Node.js is a runtime environment that allows you to run JavaScript on the server-side. It's commonly used for building scalable network applications and server-side scripting.

  • JSON-Server: JSON-Server is a simple and convenient tool for quickly creating a RESTful API using JSON data. It's often used for mock APIs and prototyping, making it easy to simulate server behavior with JSON files as data sources.

Getting Started

Prerequisites

  • You should have installed Node.js

Installation

  1. Clone the repository
git clone -b Note_App https://github.com/Elio-Aliaj/reactjs-interview-task.git
  1. Install NPM packages
cd .\reactjs-interview-task\notes_app\
npm install

Usage

  1. To run the app:
npm start
  1. Open another CMD to run the server:
cd .\notes_app\src\Data\
npx json-server --watch db.json --port 8000
  1. The app can be accessed in the browser at http://localhost:3000

Farther app development

  • To make the app more secure:
    • Make a register, login and password
    • Encrypt the database
    • Create end-to-end encryption
    • Keeping the code up to date
    • Input Validation and Sanitization
  • Scale to millions of users
    • Use a database like Oracle, MySQL, or Microsoft SQL Server
    • Three typically common types of database scalability:
      • Scaling Up: adding more resources to a single server
      • Scaling Down: distributing the database across multiple servers
      • Read and Write: scaled separately for read and write operations
    • Backups and Disaster Recovery

Screenshots

About

This is a small note app that can add or delete notes in different categories and run on a simple server as its database (JSON-Server) for saving data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages

  • JavaScript 68.9%
  • CSS 28.9%
  • HTML 2.2%