Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/m0ngr31/DailyNotes
App for taking notes and tracking tasks on a daily basis
https://github.com/m0ngr31/DailyNotes
docker flask typescript vue
Last synced: about 2 months ago
JSON representation
App for taking notes and tracking tasks on a daily basis
- Host: GitHub
- URL: https://github.com/m0ngr31/DailyNotes
- Owner: m0ngr31
- License: mit
- Created: 2020-01-06T09:16:39.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T01:03:28.000Z (almost 2 years ago)
- Last Synced: 2024-05-21T05:15:12.487Z (7 months ago)
- Topics: docker, flask, typescript, vue
- Language: Vue
- Homepage:
- Size: 2.24 MB
- Stars: 684
- Watchers: 14
- Forks: 41
- Open Issues: 44
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - m0ngr31/DailyNotes - App for taking notes and tracking tasks on a daily basis (Vue)
README
# DailyNotes: Daily tasks and notes in Markdown
Current version: **1.0-beta18**
## About
The idea for this app came from using my Hobonichi Techo planner every morning to write down what I needed to accomplish that day & using it for scratching down random thoughts and notes as the day went on. The closest thing I've seen to an app for replacing this system is Noteplan, but I don't use a Mac or an iOS device, and it's not self-hostable, so I decided to write my own.Since I had the need for keeping track of to-dos throughout the day, regular Markdown didn't work for me since it doesn't natively support tasks. So as an alternative I'm using Github Flavored Markdown (GFM). I really wanted it to feel like an actual text editor and not just a textbox, so I decided to use CodeMirror to handle all the input. Fira Code is used to provide font ligatures. Some other nice features include code highlighting, text/code folding, and a task list where you can toggle the status of any task from any date or note.
## Roadmap
I'd like to try add include at least of some the following features to get to a final v1.0 release:- iCal support
- HTML preview (instead of just markdown)
- Kanban board for tasks (and new syntax to attach meta info like swimlane and project for each task)
- Nested tagging## In Action
Here is some screenshots of what it looks like:Main editor:
![](https://i.imgur.com/WEZff9a.png)
Search page:
![](https://i.imgur.com/JKqHlhT.png)
Task list:
![](https://i.imgur.com/TSHboCT.png)
## Running
The recommended way of running is to pull the image from [Docker Hub](https://hub.docker.com/r/m0ngr31/dailynotes).### Docker Setup
#### Environment Variables
| Environment Variable | Description | Default |
|---|---|---|
| API_SECRET_KEY | Used to sign API tokens. | Will be generated automatically if not passed in. |
| DATABASE_URI | Connection string for DB. | Will create and use a SQLite DB if not passed in. |
| DB_ENCRYPTION_KEY | Secret key for encrypting data. Length must be a multiple of 16.
*Warning*: If changed data will not be able to be decrypted! | Will be generated automatically if not passed in. |
| PREVENT_SIGNUPS | Disable signup form? Anything in this variable will prevent signups. | False |
| BASE_URL | Used when using a subfolder on a reverse proxy | None |
| PUID | User ID (for folder permissions) | None |
| PGID | Group ID (for folder permissions) | None |#### Volumes
| Volume Name | Description |
|---|---|
| /app/config | Used to store DB and environment variables. This is not needed if you pass in all of the above environment variables. |#### Docker Run
By default, the easiest way to get running is:```bash
docker run -p 5000:5000 -v /config_dir:/app/config m0ngr31/dailynotes
```## Development setup
### Installing dependencies
You need Python (works on 2 and 3) and Node >= 8 installed```bash
pip install -r requirements.txt
cd client
npm ci
```### Creating the environment
You can use the environment variables from above, or you can generate new ones by running the following:```bash
./verify_env.py
```Keep in mind that since the data is encrypted, if you modify the `DB_ENCRYPTION_KEY` variable, your data will not be accessible anymore.
### Running
During development you need to run the client and server simultaneously```bash
./run.sh
``````bash
cd client
npm run serve
```