I don't really expect anybody to contribute to this project. However, I wrote this guide for two reasons:
- You found this program useful and wanted to find a way to improve upon it
- I go another year without working on this program and want to improve upon it myself
So, here we go!
This work is under the GNU General Public License v3.0.
I don't put too much time thinking about the design of the program. I just made a simple iMessage-like experience, though clearly it doesn't look that way. You could try to come up with designs and I could see if it's possible to implement or not. Open an issue and see what happens!
You can open an issue to report bugs. I'll try to fix them as soon as I can, though I don't promise anything. Here's a good example of a code report: ojosproject/website#24
This repository comes with templates to help you properly structure your bug report.
You can, but I might not implement it myself. I'm a college student already struggling to keep up with everything, so it'll be difficult to find time to implement a suggested feature.
However, I recommend you open an issue and hopefully somebody will decide to code that feature and open a Pull Request. I'm more than open to merging Pull Requests for suggested features!
If you plan to contribute code, please create a fork of this project and open
a PR targeted towards the main
branch.
All icons in this project are provided by Ionic.
The following tools are used for this program:
- Tauri v1
- For the frontend...
- For the backend...
Please follow this guide by Tauri to get started.
Once you've installed the prerequisites, clone the repository:
git clone https://github.com/calejvaldez/YouAreTyping.git
cd YouAreTyping
Before you can start coding, you need to:
npm i # install npm dependencies
cargo install tauri-cli # install the Tauri CLI
cargo tauri dev # run the dev environment
Before finalizing your PR, please compile the program and make sure the build works.
cargo tauri build
Your build will be available in /src-tauri/target/release/bundle/
You must test on every OS that YAT exists on. I don't expect you to test on every architecture, though.
As of September 2024, releases are made for macOS and Windows.
Important
If you're submitting a PR and don't have access to both operating systems, please find a friend to test with and vouch for you.
It's safe to assume that any previous changes work on all operating systems. However, it is not safe to assume that your changes work on every system.
Test only your changes, unless you're attempting to find bugs, which is cool too.
Come up with specific scenarios that relate to your feature / bug fix. For example, with commit b41e4c80e497d6f6957b2d4306e3ec4440f60c12, here is a scenario I used to test my features:
- A user has an old
YouAreTyping
data folder withYouAreTyping.db
full of messages. Ensure that all of those messages are properly imported tocom.calejvaldez.YouAreTyping/YouAreTyping.db
You should test each scenario on every OS that YAT releases on.
The frontend code is inside of the src
folder. The backend code is in
/src-tauri/src/
.