{"id":22886515,"url":"https://github.com/init-io/javase","last_synced_at":"2026-04-09T02:31:33.278Z","repository":{"id":274674763,"uuid":"920509243","full_name":"Init-io/javase","owner":"Init-io","description":"Javase is a simple, fast, and asynchronous Java library designed to streamline Firebase interactions, including Firebase Authentication, Database, and Storage. With easy-to-use APIs and seamless integration, Javase allows developers to quickly add Firebase functionality to their Java-based applications, keeping performance smooth and efficient.","archived":false,"fork":false,"pushed_at":"2025-05-27T12:26:36.000Z","size":511,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-27T12:43:10.782Z","etag":null,"topics":["android","android-application","android-studio","asynchronous-programming","backenddevelopment","cloudbackend","cloudstorage","devtools","firebase","firebase-auth","firebase-database","firebase-realtime-database","firebase-storage","firebaseintegration","gradle","java","javalibrary","maven","mobiledev"],"latest_commit_sha":null,"homepage":"","language":"Java","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/Init-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2025-01-22T09:26:32.000Z","updated_at":"2025-05-27T12:23:39.000Z","dependencies_parsed_at":"2025-02-24T11:34:53.964Z","dependency_job_id":"4d3e5055-4936-4714-b74f-53bfdef04c5e","html_url":"https://github.com/Init-io/javase","commit_stats":null,"previous_names":["init-io/javase"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Init-io/javase","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Init-io%2Fjavase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Init-io%2Fjavase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Init-io%2Fjavase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Init-io%2Fjavase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Init-io","download_url":"https://codeload.github.com/Init-io/javase/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Init-io%2Fjavase/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31582599,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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":["android","android-application","android-studio","asynchronous-programming","backenddevelopment","cloudbackend","cloudstorage","devtools","firebase","firebase-auth","firebase-database","firebase-realtime-database","firebase-storage","firebaseintegration","gradle","java","javalibrary","maven","mobiledev"],"created_at":"2024-12-13T20:19:03.241Z","updated_at":"2026-04-09T02:31:33.177Z","avatar_url":"https://github.com/Init-io.png","language":"Java","readme":"---\n# Javase: Firebase? More Like Java-Ease! 🚀\n\n![Maven Central](https://img.shields.io/maven-central/v/io.github.init-io/javase.svg?label=Maven%20Central)\n![GitHub Release](https://img.shields.io/github/v/release/init-io/Javase?label=release)\n[![License](https://img.shields.io/github/license/init-io/Javase)](LICENSE)\n![downloads](https://img.shields.io/badge/downloads-1k%2Fmonth-brightgreen)\n\n**Version v1.3.5**\n*Now with `appendJson()` and `pushJson()` to make Firebase less annoying and more delightful.*\n\n---\n\n### 📜 Introduction\n\nWelcome to **Javase** — a Java library so smooth, it’ll make working with Firebase feel like a walk in the park. Firebase can be a maze of APIs and JSON responses, but fear not! Javase is here to give you simple, streamlined, and asynchronous solutions for Firebase Database and Firebase Storage.\n\nThink of it as your over-caffeinated, always-on-call Firebase assistant who actually *does what it’s told*. 🙌\n\n---\n\n### 🚀 Features\n\n#### Database Module:\n\n* **CRUD without the Drama**: Perform `get`, `put`, `update`, and `remove` operations on Firebase Realtime Database. No sweat, no mess, just pure JSON magic.\n* **JSON Appending**: Use `appendJson()` for auto-indexing like `0`, `1`, `2`... or `pushJson()` to use Firebase's built-in unique IDs.\n* **Error Handling That Cares**: Get detailed error messages because \"Unknown Error Occurred\" isn't good enough.\n* **Asynchronous Brilliance**: All tasks run on a separate thread, so your main thread can sip coffee in peace. ☕\n\n#### Storage Module:\n\n* **File Uploading (a.k.a. \"Here, Take My Stuff!\")**: Upload files to Firebase Storage with minimal effort.\n* **Download URLs**: Retrieve public download URLs for your files faster than your WiFi can fail you.\n* **Photo Listing**: Get a list of all your photos stored in Firebase. Finally, an easy way to inventory your cat pictures. 🐱\n* **File Deletion**: Ruthlessly delete photos from Firebase Storage (because not every selfie is worth keeping).\n\n---\n\n### 🛠️ Installation\n\n#### Maven:\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.github.initio\u003c/groupId\u003e\n    \u003cartifactId\u003ejavase\u003c/artifactId\u003e\n    \u003cversion\u003e1.3.5\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n#### Gradle:\n\n```groovy\nimplementation 'io.github.init-io:javase:1.3.5'\n```\n\n---\n\n### 📦 How to Use\n\nHere’s a quick peek at how ridiculously easy it is to make Firebase work for you with **Javase**.\n\n#### 1. **Authentication Module**:\n\n```java\nServer server = new Server();\nserver.initialize(apiKey, authDomain, databaseUrl, storageBucket);\nAuthentication auth = new Authenticaton(server);\n\n// SignUp\nauth.signUp(email, password);\n\n// SignIn\nauth.signIn(email, password);\n\n// Get idToken\nauth.getIdToken(); // expires in 1 hour\n\n// Refresh token\nauth.refreshIdToken();\n\n// Check if user is verified\nauth.isVerified(auth.getIdToken());\n\n// Verify user\nauth.verifyUser(auth.getIdToken());\n\n// Reset user password\nauth.resetUser(email);\n\n// Remove a user\nauth.removeUser(auth.getIdToken());\n```\n\n#### 2. **Database Module**:\n\n```java\nDatabase database = new Database(server);\n\n// Fetch data\nString response = database.get(\"path/to/data\", \"id-token\");\n\n// Add single key-value pair\ndatabase.put(\"users/123\", \"name\", \"Java Enthusiast\", \"id-token\");\n\n// Update a value\ndatabase.update(\"users/123\", \"status\", \"awesome\", \"id-token\");\n\n// Delete a node\ndatabase.remove(\"users/123\", \"id-token\");\n\n// Put entire JSONObject\nJSONObject json = new JSONObject();\njson.put(\"title\", \"New Notification\");\njson.put(\"message\", \"You've got mail!\");\ndatabase.putJson(\"notifications/123\", json, \"id-token\");\n\n// Append JSONObject at next index (0,1,2,...)\ndatabase.appendJson(\"notifications\", json, \"id-token\");\n\n// Push JSONObject with Firebase-style random key\ndatabase.pushJson(\"notifications\", json, \"id-token\");\n```\n\n##### Reading pushed notifications:\n\n```java\nList\u003cJSONObject\u003e notifications = database.getJsonList(\"notifications\", \"id-token\");\nfor (JSONObject notif : notifications) {\n    System.out.println(\"Title: \" + notif.optString(\"title\"));\n}\n```\n\n#### 3. **Storage Module**:\n\n```java\nStorage storage = new Storage(server, new Authenticate(\"id-token\"));\n\n// Upload a file\nString uploadResponse = storage.uploadFile(\"/local/path/to/photo.jpg\", \"images/photo.jpg\");\n\n// Get a file URL\nString fileUrl = storage.getFileUrl(\"images/photo.jpg\");\n\n// List all photos\nString photos = storage.listPhotos(\"images\");\n\n// Delete a photo\nString deletePhotoResponse = storage.deletePhoto(\"images/photo.jpg\");\n```\n\n---\n\n### 🐛 Error Handling\n\nWhenever things go sideways (and let's face it, they will), **Javase** has your back with a `error()` method that provides detailed error messages.\n\n```java\nString result = database.get(\"non/existent/path\", \"id-token\");\nif (result == null) {\n    System.out.println(\"Uh oh: \" + database.error());\n}\n```\n\n---\n\n### 🤓 Why Choose Javase?\n\n1. **Asynchronous Operations**: Multithreading without the headache.\n2. **Simple API**: Minimal boilerplate. Maximum productivity.\n3. **Readable Errors**: You'll know exactly why Firebase isn't cooperating.\n4. **New JSON Helpers**: `appendJson()` and `pushJson()` for easy batch inserts.\n5. **Cool Factor**: Saying \"I use Javase\" sounds way better than \"I wrestle with Firebase APIs.\"\n\n---\n\n### 🤝 Contributing\n\nWant to make Javase even better? Fork it, fix it, or file an issue. Just make sure your code is cleaner than your desk. 🙃\n\n---\n\n### 📜 License\n\nThis project is licensed under the [MIT License](LICENSE). In short: use it, modify it, but don’t blame us if you break it.\n\n---\n\n### 💬 Closing Words\n\nFirebase is great, but let’s be honest — their APIs can be... *quirky*. Javase turns those quirks into an elegant experience. So, go ahead: download, experiment, and enjoy Firebase like never before.\n\nRemember, **life’s too short for bad libraries.** 🧑‍💻\n\n---\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finit-io%2Fjavase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finit-io%2Fjavase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finit-io%2Fjavase/lists"}