{"id":29714088,"url":"https://github.com/ppmpreetham/vfriend","last_synced_at":"2025-07-24T03:07:46.800Z","repository":{"id":301362878,"uuid":"842920032","full_name":"ppmpreetham/vfriend","owner":"ppmpreetham","description":"👩🏻‍🤝‍👨🏻A Cross-platform app written in tauri for VIT Students to check which of your friends are free right now","archived":false,"fork":false,"pushed_at":"2025-07-19T14:57:19.000Z","size":3410,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-19T16:13:31.182Z","etag":null,"topics":["tauri","tauri-app","tauri-apps","vit","vitchennai"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ppmpreetham.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-15T11:48:38.000Z","updated_at":"2025-07-18T04:30:36.000Z","dependencies_parsed_at":"2025-07-12T09:17:03.348Z","dependency_job_id":"f0507a31-4949-4df7-b2b1-ec454102be0b","html_url":"https://github.com/ppmpreetham/vfriend","commit_stats":null,"previous_names":["ppmpreetham/vfriend"],"tags_count":4,"template":false,"template_full_name":"emilk/eframe_template","purl":"pkg:github/ppmpreetham/vfriend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppmpreetham%2Fvfriend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppmpreetham%2Fvfriend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppmpreetham%2Fvfriend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppmpreetham%2Fvfriend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ppmpreetham","download_url":"https://codeload.github.com/ppmpreetham/vfriend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppmpreetham%2Fvfriend/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266786798,"owners_count":23983871,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["tauri","tauri-app","tauri-apps","vit","vitchennai"],"created_at":"2025-07-24T03:07:46.137Z","updated_at":"2025-07-24T03:07:46.781Z","avatar_url":"https://github.com/ppmpreetham.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv id=\"toc\" align=\"center\" style=\"margin-bottom: 0;\"\u003e\n  \u003cul style=\"list-style: none; margin: 0; padding: 0;\"\u003e\n    \u003ca href=\"https://vfriend.preetham.top/\"\u003e\n      \u003cpicture\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./src/assets/dark_logo.svg\" /\u003e\n        \u003cimg alt=\"VFriend\" src=\"./src/assets/light_logo.svg\" width=\"200\" style=\"margin-right: 30px;\" /\u003e\n      \u003c/picture\u003e\n    \u003c/a\u003e\n  \u003c/ul\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eCheck status of your friends at any time\u003c/strong\u003e\u003cbr\u003e\n  \u003ca href=\"https://vfriend.preetham.top/privacy\"\u003eDownload the App\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/ppmpreetham/vfriend?tab=MIT-1-ov-file#\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./README/dark_license.svg\" /\u003e\n      \u003cimg alt=\"MIT License\" src=\"./README/light_license.svg\" /\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ppmpreetham/vfriend/releases/\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./README/dark_version.svg\" /\u003e\n      \u003cimg alt=\"Version\" src=\"./README/light_version.svg\" /\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\" style=\"display: flex; justify-content: center; gap: 10px; flex-wrap: wrap;\"\u003e\n  \u003cdiv style=\"display: flex; flex-direction: row; overflow-x: auto; gap: 10px; padding: 10px;\"\u003e\n    \u003cimg alt=\"Home screen\" src=\"README/app images/home.png\" style=\"height: 600px; width: auto; object-fit: contain;\" /\u003e\n    \u003cimg alt=\"Friends screen\" src=\"README/app images/friends.png\" style=\"height: 600px; width: auto; object-fit: contain;\" /\u003e\n    \u003cimg alt=\"Profile screen\" src=\"README/app images/profile.png\" style=\"height: 600px; width: auto; object-fit: contain;\" /\u003e\n  \u003c/div\u003e\n\u003c/div\u003e\n\n\u003e [!WARNING]  \n\u003e This app is still in development, and is not yet ready for production use. There are many features that are still missing, and there may be bugs. Please use it at your own risk.\n\n## Why VFriend?\n\nAn year ago, while I was a freshman at my college, I had an oddly specific problem of having a little too many friends. Oftentimes, I’d often find myself digging through old WhatsApp/Discord chats, trying to find the timetables they had sent me, one by one, over and over. It was tedious, repetitive, and honestly, a little ridiculous. I kept thinking, there has to be a better way to do this. But back then, I didn’t know much about app development. I had spent time learning web dev, but even now, as I write this, you could say, this is my first real app.\n\n## Usage\n\n0. **Install Node.js**: Make sure you have Node.js installed on your system. You can download it from [nodejs.org](https://nodejs.org/).\n1. **Install pnpm**: If you haven't already, install `pnpm` globally\n   ```bash\n   npm install -g pnpm\n   ```\n2. **Install Rust**: Make sure you have Rust installed on your system. You can download it from [rustup.rs](https://rustup.rs/).\n3. **Install Tauri CLI**: Install the Tauri CLI globally using `pnpm`:\n   ```bash\n   pnpm install -g @tauri-apps/cli\n   ```\n4. **Install Tauri**: Follow the [Tauri installation guide](https://tauri.app/v2/getting-started/prerequisites/) to set up your environment.\n\n5. **Clone the Repository**:\n   ```bash\n   git clone https://github.com/ppmpreetham/vfriend.git\n   cd vfriend\n   ```\n6. **Install Dependencies**:\n   ```bash\n    pnpm i\n   ```\n7. **Change the IP**:\n   Open `src-tauri/tauri.conf.json` and change the `devPath` to your IP address. For example:\n   ```json\n   \"devPath\": \"http://172.22.198.42:1420/\"\n   ```\n8. **Run the App**:\n   ```bash\n     pnpm tauri dev\n   ```\n9. **Build the App**:\n   ```bash\n     pnpm tauri android build -- --apk\n   ```\n\n### Android\n\nTo build the app for Android, you need to have the Android SDK and NDK installed. Follow the [Tauri Android guide](https://tauri.app/v2/guides/mobile/android/) for detailed instructions.\n\n0. Add this to `.vscode/settings.json` to ignore Tauri's Android schema:\n\n```json\n\"yaml.schemaStore.enable\": false\n```\n\n1. First, initialize the Android project:\n   ```bash\n   pnpm tauri android init\n   ```\n2. Copy the `android/AndroidManifest.xml` by removing `gen/android/app/src/main/AndroidManifest.xml`:\n\n   ```bash\n    cp src-tauri/gen/android/app/src/main/AndroidManifest.xml src-tauri/gen/android/app/src/main/AndroidManifest.xml\n   ```\n\n3. Copy the `android/build.gradle.kts` by removing `gen/android/app/build.gradle.kts`:\n\n   ```bash\n   cp src-tauri/gen/android/build.gradle.kts src-tauri/gen/android/app/build.gradle.kts\n   ```\n\n4. Change the theme in `src-tauri/gen/android/app/src/main/res/values/themes.xml` for theme\n5. Then, build the app for Android:\n   ```bash\n   pnpm tauri android build\n   ```\n\n## TO-DO\n\n- [x] Seperate stores for oneSelf and friends\n- [x] Remove redundant and unused Hooks\n- [x] Add support for [Deep-Links](https://v2.tauri.app/plugin/deep-linking/#setting-up) on Mobile(Android and IOS)\n- [x] Better addFriend functionality\n- [x] Setup Permissions for fs, Dialog for Mobile(Android and IOS)\n- [x] Fix Dialog for Android (currently gives content://com.android.providers.media.documents/document/document%3A1000313997)\n- [x] Friend page Search functionality\n- [x] Friend individual page\n- [x] Settings page\n- [x] QR Code functionality\n- [x] Share link to add friend functionality\n- [x] Ability to change the time format\n- [x] Multiple themes\n- [x] Deep-Link onClick functionality\n- [ ] GitHub Actions Automation\n- [ ]\n- [ ] useNavigation for back button, refer to https://github.com/tauri-apps/tauri/issues/8142\n- [ ] Add Friend via Deep-Link\n- [ ] Update Self Timetable\n- [ ] Update Friend Timetable\n- [ ] peer-to-peer functionality\n- [ ] NFC Functionality (optional)\n- [ ] Calendar page\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fppmpreetham%2Fvfriend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fppmpreetham%2Fvfriend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fppmpreetham%2Fvfriend/lists"}