mirror of
https://github.com/dnote/dnote
synced 2026-03-14 14:35:50 +01:00
* Implement data model and basic UI for repetition rules * Implement tooltip * Allow to update and write test * Stop processing the first repetition until having waited at least the frequency amount * Set up email dev server reload * Test pro only * Allow to toggle repetition using token * Remove unused * Add last active * Simplify nextActive calculation * Create weekly digest repetition rules for existing users * Fix style * Fix link * Create default repetition rule upon signup * Get notes with thresholds * Fix test * Fix test
2.1 KiB
2.1 KiB
Contributing to Dnote
This repository contains the server side and the client side code for Dnote.
Setting up
- Install the following prerequisites if necessary:
- Go programming language 1.13+
- Node.js 10.16+
- Postgres 10.9+
- Get the Dnote code:
go get github.com/dnote/dnote
- Run
maketo install dependencies
Command Line Interface
Build
You can build either a development version or a production version:
# Build a development version for your platform and place it in your `PATH`.
make debug=true build-cli
# Build a production version for all platforms
make version=v0.1.0 build-cli
# Build a production version for a specific platform
# Note: You cannot cross-compile using this method because Dnote uses CGO
# and requires the OS specific headers.
GOOS=[insert OS] GOARCH=[insert arch] make version=v0.1.0 build-cli
Test
- Run all tests for the command line interface:
make test-cli
Debug
Run Dnote with DNOTE_DEBUG=1 to print debugging statements. For instance:
DNOTE_DEBUG=1 dnote sync
Release
- Run
make version=v0.1.0 release-clito achieve the following:- Build for all target platforms, create a git tag, push all tags to the repository
- Create a release on GitHub and Dnote Homebrew tap.
Note
- If a release is not stable,
- disable the homebrew release by commenting out relevant code in the release script.
- mark release as pre-release on GitHub release
Server
The server consists of the frontend web application and a web server.
Development
-
Create a postgres database by running
createdb -O postgres dnote -
If the role does not exist, you can create it by running
sudo -u postgres createuser postgres -
Run
make dev-serverto start a local server
Test
# Run tests for the frontend web application
make test-web
# Run tests for API
make test-api