Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Bug Report
description: Report a bug or unexpected behavior
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug. Please fill in as much detail as possible.

- type: textarea
id: description
attributes:
label: What happened?
description: A clear description of the bug.
placeholder: Describe the bug...
validations:
required: true

- type: textarea
id: steps
attributes:
label: Steps to reproduce
placeholder: |
1. Go to '...'
2. Tap on '...'
3. See error
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behavior
placeholder: What did you expect to happen?
validations:
required: true

- type: input
id: version
attributes:
label: App version
placeholder: e.g. 2.6.46
validations:
required: true

- type: input
id: android
attributes:
label: Android version
placeholder: e.g. Android 13
validations:
required: true

- type: input
id: device
attributes:
label: Device
placeholder: e.g. Pixel 7, Samsung Galaxy S23
validations:
required: false

- type: textarea
id: logs
attributes:
label: Logs or screenshots
description: Attach any relevant screenshots or logcat output.
validations:
required: false
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Feature Request
description: Suggest a new feature or improvement
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Got an idea? Describe it below and we'll take a look.

- type: textarea
id: problem
attributes:
label: What problem does this solve?
description: Describe the use case or pain point behind this request.
placeholder: I often find myself wanting to...
validations:
required: true

- type: textarea
id: solution
attributes:
label: Proposed solution
description: How would you like this to work?
placeholder: It would be great if...
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Any other solutions or workarounds you've tried?
validations:
required: false

- type: textarea
id: context
attributes:
label: Additional context
description: Screenshots, mockups, or anything else that helps explain the idea.
validations:
required: false
7 changes: 6 additions & 1 deletion .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
name: Release — build & publish

on:
push:
pull_request:
types: [closed]
branches: [master]
paths-ignore:
- '**/*.md'
- 'docs/**'

jobs:
release:
name: Build signed APK/AAB & publish
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
permissions:
contents: write
Expand Down
83 changes: 55 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,78 @@
# My Notes

**My Notes** is a simple and convenient app for quickly jotting down notes.
Organize your ideas, tasks, and important things without distractions.
**My Notes** is a fast, clean, and fully private note-taking app for Android.
No accounts, no cloud, no ads — just your content stored safely on your device.

[![My Notes on Product Hunt](https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1027550&theme=light&width=200)](https://www.producthunt.com/products/my-notes-4?utm_source=badge-featured&utm_medium=badge&utm_source=badge-my-notes-204c8f1f-1e34-423b-9817-bb05b82b69e2)
---

![GitHub release](https://img.shields.io/github/v/release/pasichDev/MyNotes?style=flat-square&label=release)
![Build](https://img.shields.io/github/actions/workflow/status/pasichDev/MyNotes/ci.yml?branch=master&style=flat-square&label=build)
![License](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)
![Android](https://img.shields.io/badge/Android-8.0%2B-3DDC84?style=flat-square&logo=android&logoColor=white)
![API](https://img.shields.io/badge/API-26%2B-brightgreen?style=flat-square)
![Localized](https://img.shields.io/badge/localized-10%20languages-blueviolet?style=flat-square)
![GitHub stars](https://img.shields.io/github/stars/pasichDev/MyNotes?style=flat-square)
![GitHub issues](https://img.shields.io/github/issues/pasichDev/MyNotes?style=flat-square)
![PRs welcome](https://img.shields.io/badge/PRs-welcome-brightgreen?style=flat-square)

---

[![My Notes on Product Hunt](https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1027550&theme=light&width=200)](https://www.producthunt.com/products/my-notes-4?utm_source=badge-featured&utm_medium=badge&utm_source=badge-my-notes-204c8f1f-1e34-423b-9817-bb05b82b69e2)
  
[![Download on Google Play](https://img.shields.io/badge/Google%20Play-Download-blue?style=for-the-badge&logo=google-play&logoColor=white)](https://play.google.com/store/apps/details?id=com.pasich.mynotes)

---

## Screenshots

<div style="display: flex; justify-content: center; gap: 10px;">
<img src="doc/scr1.jpg" width="280" />
<img src="doc/scr2.jpg" width="280" />
</div>

## Why My Notes?

My Notes was created for people who want a fast, clean and fully private note-taking experience.
No accounts, no cloud, no ads — just your content stored safely on your device.

The goal is simple:
**Open → Write → Close.**
Zero distractions.

## Features

- 📥 Import from **Google Keep**
- 🏷️ **Tags** for sorting and searching notes
- ✍️ **Advanced editor** (headings, lists, quotes, formatting)
- ✍️ **Advanced editor** — headings, lists, quotes, formatting (Editor.js)
- 🔔 **Reminders** with repeat schedules
- 🎨 **Themes and colors** to match your mood
- 🌍 **10 languages** — EN, UK, RU, DE, FR, ES, IT, PL, BE, KK
- 🚫 **No ads** — just your notes
- 🔒 **Fully offline** — no servers or remote cloud
- 🔒 **Fully offline** — no servers, no cloud
- 💻 **Open-source** — transparent and accessible code
- 🎯 **Modern and intuitive design**

**My Notes** helps you capture ideas, organize your day, and always keep important information at
hand.

## Privacy

My Notes does not collect or send any data to external servers.
All notes, attachments and preferences are stored **locally on the device**.
All notes, attachments, and preferences are stored **locally on the device**.
No tracking, no analytics, no cloud — full privacy by design.

## Contribution

If you find bugs, issues, or have ideas to improve the app,
please open a new [Issue](https://github.com/pasichDev/My-Notes/issues) in the project repository.
## Tech Stack

| Layer | Technology |
|---|---|
| Language | Java |
| DI | Dagger Hilt |
| DB | Room |
| Editor | Editor.js (WebView) |
| UI | ViewBinding / DataBinding |
| Build | Gradle + Spotless |

## Building Locally

1. Clone the repository:
```bash
git clone https://github.com/pasichDev/MyNotes.git
```
2. Open in **Android Studio** (Hedgehog or newer).
3. Let Gradle sync finish.
4. Install git hooks (one-time):
```bash
git config core.hooksPath .githooks
```
5. Run on a device or emulator (API 26+).

## Development

Expand All @@ -60,15 +86,16 @@ please open a new [Issue](https://github.com/pasichDev/My-Notes/issues) in the p
./gradlew :app:spotlessApply
```

**Git hooks** — install once after cloning:

```bash
git config core.hooksPath .githooks
```

**Git hooks:**
- **pre-commit** — runs `spotlessCheck` (~15s). Fails fast on format violations.
- **pre-push** — runs `lintDebug` (~2–3 min). Skip with `SKIP_LINT=1 git push`.

## Contribution

Found a bug or have an idea? Open a new [Issue](https://github.com/pasichDev/MyNotes/issues).
Pull requests are welcome — please run `spotlessApply` before submitting.
See [CHANGELOG](./CHANGELOG.md) for release history.

## License

This project is licensed under the terms of the [Apache License 2.0](./LICENSE).
Loading