Table of Contents
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.
- 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
-
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.
- You should have installed Node.js
- Clone the repository
git clone -b Note_App https://github.com/Elio-Aliaj/reactjs-interview-task.git
- Install NPM packages
cd .\reactjs-interview-task\notes_app\
npm install
- To run the app:
npm start
- Open another CMD to run the server:
cd .\notes_app\src\Data\
npx json-server --watch db.json --port 8000
- The app can be accessed in the browser at http://localhost:3000
- 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