<p align="center">
<img style="align:center; border-radius: 20px;" src="/resources/screenshots/mobile.jpg" alt="Notesnook mobile screenshot" width="250" />
</p>
<h1 align="center">Notesnook Mobile</h1>
<h3 align="center">The mobile app is built using React Native, Typescript & Javascript for both iOS & Android.</h3>
<p align="center">
<a href="#developer-guide">Developer guide</a> | <a href="#build-instructions">How to build?</a>
</p>
<p align="center">
<a href="https://play.google.com/store/apps/details?id=com.streetwriters.notesnook">
<img alt="Download on Google Play" src="https://play.google.com/intl/en_us/badges/images/badge_new.png" height=43>
</a>
<a href="https://apps.apple.com/us/app/notesnook-take-private-notes/id1544027013">
<img alt="Download on App Store" src="https://user-images.githubusercontent.com/7317008/43209852-4ca39622-904b-11e8-8ce1-cdc3aee76ae9.png" height=43>
</a>
</p>
## Build instructions
> **Before you start, it is recommended that you read [the contributing guidelines](/CONTRIBUTING.md).**
### Setting up the development environment
Requirements:
1. [Node.js](https://nodejs.org/en/download/)
2. [git](https://git-scm.com/downloads)
3. NPM (not yarn or pnpm)
4. [React Native](https://reactnative.dev/docs/environment-setup)
To run the app locally, you will need to setup React Native on your system:
1. Open the official [environment setup guide here](https://reactnative.dev/docs/environment-setup)
2. Select `React Native CLI Quickstart`
3. Select your OS & the platform to run the app on (iOS or Android)
4. Follow the steps listed.
> Please keep in mind that **Expo is not supported**.
Once you have completed the setup, the first step is to `clone` the monorepo:
```bash
git clone https://github.com/streetwriters/notesnook.git
# change directory
cd notesnook
```
Once you are inside the `./notesnook` directory, run the preparation step:
```bash
# this might take a while to complete
npm install
```
### Running the app on Android
[Setup an Android emulator from Android Studio](https://developer.android.com/studio/run/managing-avds) if you haven't already, and then run the following command to start the app in the Emulator:
```bash
npm run start:android
```
If you want to run the app on your phone, make sure to [enable USB debugging](https://developer.android.com/studio/debug/dev-options).
### Running the app on iOS
To run the app on iOS:
```bash
# this might take a while to complete
npm run prepare:ios
npm run start:ios
```
## Developer guide
> This project is in a transition state between Javascript & Typescript. We are gradually porting everything over to Typescript, so if you can help with that, it'd be great!
### The tech stack
We try to keep the stack as lean as possible:
1. React Native
2. Typescript/Javascript
3. Zustand: State management
4. Detox: Runs all our e2e tests
5. React Native MMKV: Database & persistence
6. libsodium: Encryption
### Project structure
The app codebase is distributed over two primary directories. `native/` and `app/`.
- `native/`: Includes `android/` and `ios/` folders and everything related to react native core functionality like bundling, development, and packaging. Any react-native dependency with native code, i.e., android & ios folders, is installed here.
- `app/`: Includes all the app code other than the native part. All JS-only dependencies are installed here.
- `components/`: Each component serves a specific purpose in the app UI. For example, the `Paragraph` component is used to render paragraphs in the app, and a `Header` component is used to render a `header` on all screens.
- `common/`: Features that are integral to the app's functionality. For example, the notesnook core is initialized here.
- `hooks/`: Hooks for different app logic
- `navigation/`: Includes app navigation-specific code. Here the app navigation, editor & side menu are rendered side by side in fluid tabs.
- `screens`: Navigator screens.
- `services`: Parts of code that do a specific function. For example, the `sync` service runs Sync from anywhere in the app.
- `stores`: We use `zustand` for global state management in the app. Multiple stores provide the state for different parts of the app.
- `utils`: General purpose stuff such as constant values, utility functions, etc.
There are several other folders at the root:
- `share/`: Code for the iOS Share Extension and Android widget.
- `e2e/`: Detox End to end tests
- `patches/`: Patches for various react native dependencies.
### Running the tests
When you are done making the required changes, you must run the tests to ensure you didn't break anything. We use Detox as the testing framework & the tests can be started as follows:
### Android
To run the tests on Android, you will need to create an emulator device on your system:
```
$ANDROID_HOME/tools/bin/avdmanager create avd -n Pixel_5_API_31 -d pixel --package "system-images;android-31;default;x86_64"
```
If you face problems, follow the detailed guide in [Detox documentation](https://wix.github.io/Detox/docs/introduction/android-dev-env). Keep the emulator name set to `Pixel_5_API_31`.
Once you have created an emulator device, build the Android apks:
```
npm run build:android
```
Finally, run the tests:
```
npm run test:android
```
### iOS
To run e2e tests on the iOS simulator, you must be on a Mac with XCode installed.
First, install [AppleSimulatorUtils](https://github.com/wix/AppleSimulatorUtils):
```
brew tap wix/brew
brew install applesimutils
```
Now build the iOS app for testing:
```
npm run build:ios
```
Finally, run the tests:
```
npm run test:ios
```
All tests on iOS are configured to run on `iPhone 8` simulator.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
notesnook是一款全新的个人笔记和知识管理工具,旨在帮助用户更高效地组织、记录和管理自己的笔记和知识。它提供了简洁易用的界面和丰富的功能,可以满足用户在学习、工作和生活中对笔记和知识管理的需求。用户可以轻松地创建、编辑和查看自己的笔记。无论是在电脑上还是在移动设备上,用户都可以通过Web应用或移动应用随时随地访问和管理自己的笔记。notesnook提供了强大的组织和分类功能,用户可以根据自己的需求创建文件夹、标签和子标签,将笔记进行分类和归档。这使得用户可以轻松地找到和管理自己的笔记,提高工作和学习效率。notesnook支持多种编辑和格式化选项,用户可以使用Markdown语法进行快速编辑,也可以通过富文本编辑器进行更复杂的格式化和排版。此外,notesnook还支持插入图片、链接、表格等元素,使笔记更加丰富和直观。notesnook支持实时协作和共享功能,用户可以与他人一起编辑和查看同一份笔记。这对于团队合作、学习小组和项目管理非常有用,可以提高沟通效率和工作效率
资源推荐
资源详情
资源评论
收起资源包目录
一款高效的个人笔记和知识管理工具-Notesnook (2000个子文件)
_headers 117B
apple-app-site-association 354B
apple-app-site-association 121B
AUTHORS 169B
.bablerc 1B
gradlew.bat 3KB
commit-msg 79B
config 58B
config 58B
katex.min.css 18KB
styles.css 12KB
app.css 7KB
custom.css 6KB
katex-fonts.css 5KB
fonts.css 4KB
katex-fonts.mobile.css 3KB
app.css 2KB
fonts.mobile.css 2KB
fonts.css 2KB
index.css 1KB
styles.module.css 508B
index.css 465B
App.css 222B
NotesnookDebug.entitlements 616B
Notesnook.entitlements 555B
Make Note.entitlements 439B
NotesWidgetExtensionDebug.entitlements 310B
Add to NotesDebug.entitlements 310B
Add to Notes.entitlements 310B
.xcode.env 480B
.env 20B
.eslintignore 302B
Gemfile 156B
web-clip-embed.gif 1.31MB
assign-a-tag.gif 187KB
theme-builder-change-color.gif 125KB
chrome-pin-to-toolbar.gif 70KB
table-move-row.gif 67KB
firefox-pin-to-toolbar.gif 63KB
table-split-cell.gif 61KB
table-merge-cells.gif 58KB
table-move-column.gif 55KB
resize-table.gif 48KB
markdown-editing.gif 31KB
drag-drop.gif 30KB
insert-row-table.gif 14KB
table-insert-column.gif 10KB
.gitattributes 18B
.gitignore 1KB
.gitignore 386B
.gitignore 386B
.gitignore 310B
.gitignore 122B
.gitignore 51B
.gitignore 30B
.gitignore 9B
build.gradle 9KB
build.gradle 1KB
settings.gradle 259B
gradlew 8KB
ShareViewController.h 151B
Notesnook-Bridging-Header.h 104B
Make Note-Bridging-Header.h 104B
Add to Notes-Bridging-Header.h 104B
AppDelegate.h 98B
index.html 9KB
index.html 7KB
plaineditor.html 3KB
index.html 2KB
index.html 2KB
index.html 291B
_head.html 205B
app.icns 268KB
app.ico 353KB
app.ico 353KB
tray-icon.ico 36KB
tray-icon.dark.ico 36KB
quit.ico 34KB
note-add.dark.ico 34KB
note-add.ico 34KB
notebook-add.dark.ico 34KB
reminder-add.ico 34KB
quit.dark.ico 34KB
reminder-add.dark.ico 34KB
notebook-add.ico 34KB
favicon.ico 33KB
favicon.ico 33KB
favicon.ico 15KB
gradle-wrapper.jar 60KB
ReactNativeFlipper.java 3KB
ShareApplication.java 3KB
MainApplication.java 2KB
MainActivity.java 2KB
BootRecieverService.java 2KB
RCTNNativeModule.java 2KB
NoteWidget.java 2KB
ShareActivity.java 1KB
OnClearFromRecentService.java 1000B
NNativeModulePackage.java 996B
DetoxTest.java 888B
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
AI普惠行者
- 粉丝: 1670
- 资源: 117
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功