/Noter

Noter is a desktop application that merges between a media player and a notes manager allowing you to take notes while watching your videos seamlessly. Videos can be organized into sections within a certain playlist, and notes can be categorized within a certain notebook.

Primary LanguageTypeScriptMIT LicenseMIT

Noter Desktop

This project uses https://github.com/electron-react-boilerplate/electron-react-boilerplate

Home

Tech Stack

  • Backend: Node.js/Electron (For Cross-Platform Capabilities)
  • Frontend: TypeScript + React.js + Redux(Type safety + state management)
  • Database: PouchDB/CouchDB ( Great offline data sync strategy)
  • Testing Tools: Jest (unit, integration), React-Testing-Library (UI)
  • CI/CD pipeline: Github Actions

High Level Architecture

image

Install

First, clone the repo via git and install dependencies:

git clone https://github.com/Sami-Sh99/Noter.git your-project-name
cd your-project-name
yarn

Starting Development

Start the app in the dev environment. This starts the renderer process in hot-module-replacement mode and starts a webpack dev server that sends hot updates to the renderer process:

yarn dev

Packaging for Production

To package apps for the local platform:

yarn package

Folder Structure

The top-level directory layout

.
├── configs                 # Configuration files for [Webpack](https://webpack.js.org/concepts/)
├── internals               # Script files for running, building, and testing the project
├── app                     # Source files
├── test                    # Automated tests (`spec`)
├── resources               # Assets directory