A simple note-taking web app.
Note
This is a hobby project, don't expect stability, documentation, security fixes, etc.
- Install dependencies:
ruby,yarn, andsqlite3 - Clone this repo:
git clone https://github.com/jethrodaniel/notes && cd notes - Run a one-time setup script:
bin/setup - Run the application locally:
bin/dev
Visit http://localhost:3000 in your browser, and sign in with these credentials:
email: admin@app.localhost
password: password
- Install test dependencies:
yarnandchromium - Run the tests:
bin/ci
- Setup your secrets manager:
Setup bitwarden secrets manager:
- Create 2 projects,
notes-productionandnotes-staging, and add aRAILS_MASTER_KEYto each - Install and configure
bws-cp .env.example .env, add the following, theneval $(cat .env):
export BWS_ACCESS_TOKEN='REDACTED'
export BWS_SERVER_URL=https://vault.your-bitwarden.com
- Configure your deploy
bin/rails credentials:edit -e production
bin/rails credentials:edit -e staging
kamal:
proxy_host: your.deploy.url
server: 192.123.456.789
ssh_user: username
ssh_port: 22
smtp:
user_name: username
password: password
address: your.smtp.address
host: your.smtp.host
port: 123
authentication: TODO
host: your.deploy.url
from: user@your.deploy.url- Deploy
bin/kamal deploy -d staging
bin/kamal deploy -d production
To generate the favicon.ico:
inkscape app/assets/images/icon.svg --export-width=256 --export-filename=tmp.png
convert tmp.png -define icon:auto-resize=256,64,48,32,16 app/assets/images/favicon.ico
rm tmp.pngUsers can change their language in-app to either English or Spanish.
Non-logged in pages (e.g, sign-in) aren't translated yet.
Spanish datetime.distance_in_words translations are from svenfuchs/rails-i18n (MIT).
Notes is released under the GNU Affero General Public License Version 3 (AGPLv3) or any later version.
Copyright 2025 Mark Delk. All rights reserved.
While the code is released under the AGPL, I'd still like to be able to release it under something like the MIT license eventually.
To that end, contributions aren't accepted (yet).