Releases: knoxy5467/a-better-notion
Releases · knoxy5467/a-better-notion
1.0 Release
Binary Distribution Installation
Mac OS
Assumptions
- Access to a
bash
orzsh
terminal
Step 1: Download database and binary distribution
- Download
macos-release.zip
- Assuming google chrome is being used, the browser will flag
macos-release
as suspicious. Select the release in your downloads tab, using the button in the upper right hand corner of chrome, and press "Download suspicious file" - Unzip
macos-release.zip
, creating the foldertemp
- Download and unzip
server-docker.zip
, creating theserver-docker
folder
Step 2: Database setup
- Download docker desktop at this web page: https://www.docker.com/products/docker-desktop/
- In a
bash
orzsh
terminal, navigate inside of yourserver-docker
folder using the commandcd [insert path of server-docker here]
- Inside that folder, run the command
docker-compose up
- this will make the database ready to receive connections!
Step 3: Run the Server and Client
- Next, in Finder, navigate into the folder
temp/release/server
and double click on the server binary file (which has a terminal icon next to it). This will create a server settings config at~/.abn_settings/Settings.toml
, open` a terminal, and run the server. You may get denied access the first time, if this happens, just double-click again, and run the server. - Finally, in Finder, navigate into the folder
temp/release/client
and double click on the client binary file. This will open a terminal, and run the client!
Source Distribution Installation
Build Instructions
Step 1: Download Source Code, Rust, and Docker
- Download and unzip the source code zip file, creating the
a-better-notion-1.0
directory - Download rust at https://rustup.rs/
- Download docker at https://www.docker.com/products/docker-desktop/
Step 2: Run Database, Client, and Server
- Open three terminals, and navigate to
a-better-notion-1.0
in each using thecd
command - Make sure you don't have any databases running in docker. In the first terminal, build and run the database with
docker-compose up
- In the second, run the server with
cargo run -p server
- In the third, run the client with
cargo run -p client
Running Tests
- Open a terminal. Run all tests with
cargo test
. Run tests for frontend only withcargo test -p client
. Run tests for lib only withcargo test -p common
. Run tests for server only withcargo test -p server
- Run all tests and view code coverage with
zsh show-lcov.sh
Release Notes
What's changed:
- #136 by @knoxy5467 @andOrlando @zontasticality @jacobe90. Fix numerous CRUD bugs and update server with views, filters, and properties API, add detection for when server goes down
- #137 by @knoxy5467. Correct server docker file
- #138 by @jacobe90. Improve server settings workflow
Features
- Fully debugged task CRUD
- Filters & views API implemented on Backend
- Stop all client-side CRUD if server goes down
- Improved automated server settings workflow
Contribution Guidelines
- Document bugs using the issue tracker, located at https://github.com/knoxy5467/a-better-notion/issues
- Make pull requests by going to https://github.com/knoxy5467/a-better-notion/pulls, and selecting 'New Pull Request'
- Pull requests should explain changes made, reference solved issues, and preserve 90% code coverage. This last requirement is checked with an automated pull requests.
- Pull requests cannot be merged until they reach 90% code coverage, and have been reviewed
Tips for Development
- Source code repository can be found here. View file changes by clicking on the
Commits
icon in the upper right hand corner of the file view. - Use
zsh show-lcov.sh
when writing tests to meet code coverage - Use
zsh pr-checks.sh
to ensure code will pass automated tests for a pull request, before making the pull request - Use
cargo clippy
to runclippy
, which we use to ensure all code is properly formatted - When switching to branches with database changes or making changes to database creation, make sure to delete the database and rerun
docker-compose up
in the project root
Documentation
- See the ABN wiki for user documentation.
- To read the API documentation of a crate, run
cargo rustdoc -p <crate_name> --open
in the project root. Currently we have 3 crates:client
,common
, andserver
.
v1.0test-0.2
make server have a different image name
1.0 Release Notes Draft
Binary Distribution Installation
Linux
- Access to a
bash
orzsh
terminal
Step 1: Download database and binary distribution
- Download and unzip
linux-release.zip
- Unzip
linux-release.zip
, creating the foldertemp
- Download and unzip
server-docker.zip
, creating theserver-docker
folder
Step 2: Database setup
- Download docker desktop at this web page: https://www.docker.com/products/docker-desktop/
- In a
bash
orzsh
terminal, navigate inside of yourserver-docker
folder using the commandcd [insert path of server-docker here]
- Inside that folder, run the command
docker-compose up
- this will make the database ready to receive connections!
Step 3: Run the Server and Client
- Next, in Finder, navigate into the folder
temp/release/server
and double click on the server binary file (which has a terminal icon next to it). This will create a server settings config at~/.abn_settings/Settings.toml
, open` a terminal, and run the server. - Finally, in Finder, navigate into the folder
temp/release/client
and double click on the client binary file. This will open a terminal, and run the client!
Windows
- Assumptions: access to a
bash
orzsh
terminal
Step 1: Download database and binary distribution
- Download and unzip
windows-release.zip
- Unzip
windows-release.zip
, creating the foldertemp
- Download and unzip
server-docker.zip
, creating theserver-docker
folder
Step 2: Database setup
- Download docker desktop at this web page: https://www.docker.com/products/docker-desktop/
- In a
bash
orzsh
terminal, navigate inside of yourserver-docker
folder using the commandcd [insert path of server-docker here]
- Inside that folder, run the command
docker-compose up
- this will make the database ready to receive connections!
Step 3: Run the Server and Client
- Next, in Finder, navigate into the folder
temp/release/server
and double click on the server binary file (which has a terminal icon next to it). This will create a server settings config at~/.abn_settings/Settings.toml
, open` a terminal, and run the server. - Finally, in Finder, navigate into the folder
temp/release/client
and double click on the client binary file. This will open a terminal, and run the client!
Mac OS
Assumptions
- Access to a
bash
orzsh
terminal
Step 1: Download database and binary distribution
- Download
macos-release.zip
- Assuming google chrome is being used, the browser will flag
macos-release
as suspicious. Select the release in your downloads tab, using the button in the upper right hand corner of chrome, and press "Download suspicious file" - Unzip
macos-release.zip
, creating the foldertemp
- Download and unzip
server-docker.zip
, creating theserver-docker
folder
Step 2: Database setup
- Download docker desktop at this web page: https://www.docker.com/products/docker-desktop/
- In a
bash
orzsh
terminal, navigate inside of yourserver-docker
folder using the commandcd [insert path of server-docker here]
- Inside that folder, run the command
docker-compose up
- this will make the database ready to receive connections!
Step 3: Run the Server and Client
- Next, in Finder, navigate into the folder
temp/release/server
and double click on the server binary file (which has a terminal icon next to it). This will create a server settings config at~/.abn_settings/Settings.toml
, open` a terminal, and run the server. You may get denied access the first time, if this happens, just double-click again, and run the server. - Finally, in Finder, navigate into the folder
temp/release/client
and double click on the client binary file. This will open a terminal, and run the client!
Source Distribution Installation
Build Instructions
Step 1: Download Source Code, Rust, and Docker
- Download and unzip the source code zip file, creating the
a-better-notion-1.0
directory - Download rust at https://rustup.rs/
- Download docker at https://www.docker.com/products/docker-desktop/
Step 2: Run Database, Client, and Server
- Open three terminals, and navigate to
a-better-notion-1.0
in each using thecd
command - Make sure you don't have any databases running in docker. In the first terminal, build and run the database with
docker-compose up
- In the second, run the server with
cargo run -p server
- In the third, run the client with
cargo run -p client
Running Tests
- Open a terminal. Run all tests with
cargo test
. Run tests for frontend only withcargo test -p client
. Run tests for lib only withcargo test -p common
. Run tests for server only withcargo test -p server
- Run all tests and view code coverage with
zsh show-lcov.sh
Release Notes
What's changed:
- #136 by @knoxy5467 @andOrlando @zontasticality @jacobe90. Fix numerous CRUD bugs and update server with views, filters, and properties API, add detection for when server goes down
- #137 by @knoxy5467. Correct server docker file
- #138 by @jacobe90. Improve server settings workflow
Features
- Fully debugged task CRUD
- Filters & views API implemented on Backend
- Stop all client-side CRUD if server goes down
- Improved automated server settings workflow
Contribution Guidelines
- Document bugs using the issue tracker, located at https://github.com/knoxy5467/a-better-notion/issues
- Make pull requests by going to https://github.com/knoxy5467/a-better-notion/pulls, and selecting 'New Pull Request'
- Pull requests should explain changes made, reference solved issues, and preserve 90% code coverage. This last requirement is checked with an automated pull requests.
- Pull requests cannot be merged until they reach 90% code coverage, and have been reviewed
Tips for Development
- Source code repository can be found here. View file changes by clicking on the
Commits
icon in the upper right hand corner of the file view. - Use
zsh show-lcov.sh
when writing tests to meet code coverage - Use
zsh pr-checks.sh
to ensure code will pass automated tests for a pull request, before making the pull request - Use
cargo clippy
to runclippy
, which we use to ensure all code is properly formatted - When switching to branches with database changes or making changes to database creation, make sure to delete the database and rerun
docker-compose up
in the project root
Documentation
- See the ABN wiki for user documentation.
- To read the API documentation of a crate, run
cargo rustdoc -p <crate_name> --open
in the project root. Currently we have 3 crates:client
,common
, andserver
.
pre- 1.0 release pre-release
What's Changed
- Dockerize application by @knoxy5467 in #94
- Edit tasks UI by @cinzm13 in #82
- Views table sql by @knoxy5467 in #110
- Create make-server-docker-release.yml by @knoxy5467 in #112
- fixed bad additions causing odd create errors by @knoxy5467 in #111
- View api by @andOrlando in #126
New Contributors
Full Changelog: beta...pre-1.0-pre-release
current release state 01MAY2024
This contains the files and archives for our 3 supported operating systems aswell as an archive that contains our server application that can be ran using docker through the docker compose file.
Beta Release
How to install
- Download and unzip the release binaries for your OS (windows and osx supported)
- Follow database setup instructions in the wiki
- Open terminal
- In terminal, run the commands:
cd path_to/a-better-notion-beta-release
./server
- Open a new terminal, and run the commands:
cd path_to/a-better-notion-beta-release
./client
Which commands are working
- Task creation
- Task deletion
- Task editing
- Marking tasks as completed
For more on these commands, see the wiki
Known Issues
- Deleting the first task in a list causes subsequent CRUD actions to be denied. Workaround: restart the client.
- A newly created task cannot be marked as completed. Workaround: restart the client.
Installing from source
- To install from source, see instructions in our wiki.
Release notes for developers
- No assumptions about IDE!
- Source code is tracked on github. Link to our github repository. Link to list of file changes
- Issues are tracked via github. Link to our github issues
- Run all unit / integration tests as follows:
# navigate to a-better-notion project root directory
# run all unit/integration tests
cargo test
# run unit & integration tests for client
cargo test -p client
# run unit & integration tests for server
cargo test -p server
v0.1
alpha 0.1
What's Changed
- Mknox11mar by @knoxy5467 in #11
- Cherry picked some PUML updates from the dev branch. by @zontasticality in #16
- Some miscellaneous fixes for the main branch. by @zontasticality in #18
- Add some scripts & modify readme by @zontasticality in #19
- Creates basic server by @andOrlando in #20
- Seaorm by @knoxy5467 in #24
- Backend API updates + actix unit tests by @zontasticality in #25
- Large overhaul of Middleware + UI by @zontasticality in #26
- 26mar mrknox by @knoxy5467 in #28
New Contributors
- @zontasticality made their first contribution in #16
Full Changelog: https://github.com/knoxy5467/a-better-notion/commits/alpha
No client server connection as of 0920 27mar24