yubinjodev / apple-notes

This project is a clone of the notes app on iOS built using React, TypeScript, Bootstrap, Redux, JSONbin and Axios. The purpose of this project is to exercise, apply and practice certain key skills and principles required in frontend web development.

Home Page:https://apple-notes-beta.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Apple Notes Clone

Screen Shot 2023-06-27 at 14 43 28

This project is a clone of the notes app on iOS built using React, TypeScript, Bootstrap, Redux, JSONbin and Axios. The purpose of this project is to exercise, apply and practice certain key skills and principles required in frontend web development.

Table of Contents

  1. Installation
  2. Usage
  3. Features
  4. Technologies
  5. Objective
  6. Contributing
  7. License

Installation

To run this project locally, please follow these steps:

  1. Clone the repository
git clone https://github.com/yubinjodev/apple-notes.git
  1. Navigate to the project directory
cd apple-notes
  1. Install the dependencies
npm install

Usage

Once the installation is complete, you can start the development server by running the following command:

npm start

This will start the application at http://localhost:3000 in your browser. Any changes you make to the source code will automatically refresh the page.

Features

  • Authentication
    • Login
    • Sign up
  • CRUD
    • Create notes
    • See your saved notes
    • Edit your notes
    • Delete your notes

Technologies

This project utilizes the following technologies:

  • Language : Typescript
  • Framework : React
  • Build tools : NPM
  • CSS Framework : Bootstrap
  • "Backend" : JSONBin
  • State Management : Redux & Redux Persist
  • API Client : Axios
  • Unit testing : Jest
  • E2E testing : Playwright

Objective

  • Understand and practice the SOLID principle
    • Single responsibility
    • Open-closed
    • Liskov substitution
    • Interface segregation
    • Dependency inversion
  • Utilize custom hooks
  • Practice state management through Redux
  • Getting familiar with authentication
  • Exercise async handling
  • Executing database usage and API fetching
  • Engaging in intermediate TypeScript features and clean-code naming conventions

Contribution

Contributions to this project are welcome. If you find any issues or have suggestions for improvements, feel free to open a new issue or submit a pull request. Not sure how to do that? Check this out

When contributing, please adhere to the existing code style and follow the GitHub Flow for collaboration.

License

This project is licensed under the MIT License. You are free to use, modify, and distribute this code as long as the original license terms are included.

About

This project is a clone of the notes app on iOS built using React, TypeScript, Bootstrap, Redux, JSONbin and Axios. The purpose of this project is to exercise, apply and practice certain key skills and principles required in frontend web development.

https://apple-notes-beta.vercel.app


Languages

Language:TypeScript 89.6%Language:SCSS 4.8%Language:HTML 4.6%Language:CSS 1.0%