| .codeberg/screenshots/dark | ||
| .forgejo/workflows | ||
| .vscode | ||
| android | ||
| changelogs | ||
| public | ||
| scripts | ||
| src | ||
| tests/e2e | ||
| .browserslistrc | ||
| .gitignore | ||
| biome.jsonc | ||
| bun.lockb | ||
| capacitor.config.ts | ||
| cypress.config.ts | ||
| cypress.env.example.json | ||
| index.html | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| SCREENSHOTS.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
| vite.dev.ts | ||
Vuecuit
Vuecuit is a third-party Discuit client for Android built with Vue.js.
Screenshots | Releases | Release notes
Get Vuecuit
Remember that Vuecuit is not yet fully ready for production use, so you may experience bugs and missing features. If you encounter any, please report them on the Discuit community or on the [Issues] page.
You can view the installation instructions here
Features
Vuecuit is almost at feature parity with Discuit for regular users, but there are still some features that are missing, such as:
- Push notifications (this is in progress)
- Editing and deleting posts
- Reporting posts and comments
- Joining/leaving, muting/unmuting communities
- Saving/removing posts and comments to lists
- Creating, editing, and deleting lists
- Editing your profile
At this time, Vuecuit has no features for moderators or Discs or site admins. Those features will be added likely after the above features are implemented for regular users.
Development
First, you'll need Bun. Once you have Bun installed, you can run the following commands to get started:
# Clone the repository
git clone https://git.macco.dev/insidiousfiddler/vuecuit.git
cd vuecuit
# Install dependencies
bun install
# Start the development server
bun run dev:proxy
If using the dev proxy, you'll need to set the base and API URLs on the settings
page to http://localhost:5173 and http://localhost:5173/api, respectively.
If you're not using the dev proxy, you'll need to set the base URL to the
location of your Discuit instance and the API URL to the location of the Discuit
API.
Note that you may encounter CORS errors, as Discuit doesn't currently support
CORS, except for images.
This is why dev:proxy exists.
Testing
Currently working on E2E testing with Cypress. So far, we have tests for logging in, basic navigation using the tab bar, and for the setup process.
You might want to run your tests against your own Discuit instance to avoid rate-limiting issues or interfering with other users. Check here for instructions on how to self-host Discuit.
Before running the tests, you'll need to copy the
cypress.env.example.json file to
cypress.env.json and fill in the values with your own credentials.
cp cypress.env.example.json cypress.env.json
To run E2E, you can run the following command:
bun run test:e2e
Unit tests are going to be added soon™, and can be run with the following command:
bun run test:unit
Tests are run automatically every time you push to the repository, so you can check the status of the tests on the Actions page. The runner is hosted on my local machine, so it may not always be available, but should be the majority of the time.
And a heads-up, you may encounter rate-limiting issues if running the login tests. There's a max. of 10 requests per second, and 20 requests per hour. Logging out isn't affected by this.
Building
To build just the Vue app, you can run the following command:
bun run build
You can append :only to skip typescript checks and linting:
bun run build:only
Building for Android
To build for Android, you first need to install the Android SDK and set up the
Android environment. You can download the SDK from the here
and then in the android directory, create a file called local.properties
with the following content:
sdk.dir=/path/to/android/sdk
Replace /path/to/android/sdk with the path to your Android SDK, mine,
for example, was /home/ttaylor/Android/Sdk.
Once you have the Android SDK set up, you then need to install Java 17. You can do this on Debian-based systems with the following command:
sudo apt update && sudo apt install openjdk-17-jdk
Otherwise, see the OpenJDK website for instructions on how to install it on your system.
You can then run the following command to build the Android app:
bun run build
bunx cap sync
cd android
./gradlew assembleDebug
The APK file will be located in android/app/build/outputs/apk/debug/app-debug.apk.
Contributing
Any contributions are welcome, whether it be bug reports, feature requests, or code contributions.
Making code contributions
Your commits should follow the Conventional Commits specification, e.g.,
feat(ui): add dark mode, you can also check the Git log for examples of commit
messages.
Support Vuecuit
You can support Vuecuit by contributing to the project, whether it be by reporting bugs, suggesting features, or contributing code. You can also send us virtual cookies on our Discuit community.
License
Vuecuit is licensed under the MIT License, see the LICENSE file for more information.