{"id":18439602,"url":"https://github.com/binaryshrey/notesbay","last_synced_at":"2025-10-14T11:01:35.504Z","repository":{"id":160292783,"uuid":"620106912","full_name":"binaryshrey/NotesBay","owner":"binaryshrey","description":"📝 Notes • ✅ Todos • 🤖 AI Writing Assistant - Powered By ChatGPT \u0026 GPT4 AI","archived":false,"fork":false,"pushed_at":"2023-08-15T15:30:21.000Z","size":41266,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-16T11:11:58.245Z","etag":null,"topics":["ai-chatbot","android","chatgpt","chatgpt-api","databinding-android","firebase","firebase-auth","gpt-4","jetpack-android","jetpack-navigation","kotlin","livedata","material-design","mvvm-architecture","openai","playstore-app","single-activity-architecture","viewmodel"],"latest_commit_sha":null,"homepage":"https://notesbay.netlify.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/binaryshrey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-03-28T03:22:04.000Z","updated_at":"2025-01-23T18:14:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"8655deb6-5582-48ec-a3b7-f32385703692","html_url":"https://github.com/binaryshrey/NotesBay","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaryshrey%2FNotesBay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaryshrey%2FNotesBay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaryshrey%2FNotesBay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaryshrey%2FNotesBay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/binaryshrey","download_url":"https://codeload.github.com/binaryshrey/NotesBay/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248896501,"owners_count":21179443,"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","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":["ai-chatbot","android","chatgpt","chatgpt-api","databinding-android","firebase","firebase-auth","gpt-4","jetpack-android","jetpack-navigation","kotlin","livedata","material-design","mvvm-architecture","openai","playstore-app","single-activity-architecture","viewmodel"],"created_at":"2024-11-06T06:25:42.162Z","updated_at":"2025-10-14T11:01:30.454Z","avatar_url":"https://github.com/binaryshrey.png","language":"JavaScript","readme":"\u003ch1 align=\"center\"\u003eNotesBay\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://play.google.com/store/apps/details?id=https://play.google.com/store/apps/details?id=dev.shreyansh.notesbay.notes.ai.chat.gpt.chatbot\"\u003e\u003cimg alt=\"Google Play Store\" src=\"https://img.shields.io/badge/Google_Play_Store-v1.0.0-%232EAD33?logo=googleplay\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://notesbay.app/\"\u003e\u003cimg alt=\"Web\" src=\"https://img.shields.io/badge/Web-NotesBay-%231D9BF0?logo=gatsby\u0026logoColor=ffffff\"/\u003e\u003c/a\u003e \n  \u003ca href=\"https://play.google.com/store/apps/details?id=https://play.google.com/store/apps/details?id=dev.shreyansh.notesbay.notes.ai.chat.gpt.chatbot\"\u003e\u003cimg alt=\"Google Play Store\" src=\"https://img.shields.io/badge/Downloads-100%2B-%232EAD33?logo=googleplay\"/\u003e\u003c/a\u003e \u003cbr\u003e\n   \n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e  \nIntroducing NotesBay 🚀 - Your ultimate productivity app powered by 'ChatGPT and GPT-4' AI Writing Assistant that lets you effortlessly organize your notes, manage todos \u0026 boost your daily productivity via notification alerts for all your important tasks.\nNotesBay provides a deep immersive experience as it supports voice input \u0026 document scans in 5 different languages - 🇺🇸 English, 🇮🇳 Hindi, 🇨🇳 Mandarin, 🇯🇵 Japanese and 🇰🇷 Korean!\n\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e\nDownload the app today.\n\u003cbr/\u003e\n   \u003ca href='https://play.google.com/store/apps/details?id=dev.shreyansh.notesbay.notes.ai.chat.gpt.chatbot'\u003e\u003cimg alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png' width=\"400\"/\u003e\u003c/a\u003e \u003cbr/\u003e\n\u003ca href='https://forms.fillout.com/t/qdxZs8cb11us'\u003e\u003cimg alt='Join Waitlist @App-Store' src='https://raw.githubusercontent.com/binaryshrey/Avatars-AI/main/assets/app-store.png' width=\"350\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\n## Features\n\n\u003cbr/\u003e\n\n![App Features](https://raw.githubusercontent.com/binaryshrey/NotesBay/main/static/new_features.png)\n\n\u003cbr/\u003e\n   \n## NotesBay Web\n\n\u003cbr/\u003e\n\n![Web](https://raw.githubusercontent.com/binaryshrey/NotesBay/main/static/banner.png)\n\n\u003cbr/\u003e\n\n\n## Built With 🛠\n\n![Stack](https://raw.githubusercontent.com/binaryshrey/NotesBay/main/static/stack.png)\n\n- [Kotlin](https://kotlinlang.org/) - Official programming language for Android development.\n- [Android Architecture Components](https://developer.android.com/topic/libraries/architecture) - Collection of libraries that help you design robust, testable, and maintainable apps.\n  - [CanHub](https://github.com/CanHub/Android-Image-Cropper) : Image Cropping Library for Android, optimised for Camera / Gallery.\n  - [Coroutines](https://kotlinlang.org/docs/coroutines-overview.html) : A coroutine is an instance of suspendable computation.\n  - [DataBinding](https://developer.android.com/topic/libraries/data-binding) : The Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.\n  - [DataStore](https://developer.android.com/topic/libraries/architecture/datastore) : Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers.\n  - [Firebase](https://firebase.google.com/) : Firebase is a set of backend cloud computing services and application development platforms provided by Google.\n  - [Flows](https://developer.android.com/kotlin/flow) : In coroutines, a flow is a type that can emit multiple values sequentially, as opposed to suspend functions that return only a single value.\n  - [Glide](https://github.com/bumptech/glide) : An image loading and caching library for Android focused on smooth scrolling.\n  - [In App Reviews](https://developer.android.com/guide/playcore/in-app-review) : The Google Play In-App Review API that prompts users to submit Play Store ratings and reviews without the inconvenience of leaving your app or game.\n  - [Jetpack Navigation](https://developer.android.com/guide/navigation) : Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app.\n  - [Jetpack Preference Setting](https://developer.android.com/develop/ui/views/components/settings) : Settings allow users to change the functionality and behavior of an application.\n  - [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) : LiveData is an observable data holder class.\n  - [Lottie](https://lottiefiles.com/) : Lottie is a library for Android, iOS, Web, and Windows that parses Adobe After Effects animations exported as JSON with Bodymovin and renders them natively on mobile and on the web.\n  - [ML-Kit](https://developers.google.com/ml-kit) : ML Kit brings Google's machine learning expertise to mobile developers in a powerful and easy-to-use package.\n  - [Moshi](https://github.com/square/moshi) : A modern JSON library for Kotlin and Java.\n  - [RecyelerView](https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView) : A flexible view for providing a limited window into a large data set.\n  - [Retrofit](https://square.github.io/retrofit/) : A type-safe HTTP client for Android and Java.\n  - [Room](https://developer.android.com/jetpack/androidx/releases/room) : The Room persistence library provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.\n  - [Safe Args](https://developer.android.com/guide/navigation/use-graph/safe-args) : The recommended way to navigate between destinations.\n  - [Splash Screen API](https://developer.android.com/develop/ui/views/launch/splash-screen) : Splash Screen is usually the first screen visible to the user when the application is launched.\n  - [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) : Stores UI-related data that isn't destroyed on UI changes. \n\n- [Adapty](https://adapty.io/) : The all-in-one service for in-app subscriptions.\n- [Gatsby](https://www.gatsbyjs.com/) : Gatsby is a free and open source framework based on React that helps developers build blazing fast websites and apps.\n- [FastAPI](https://fastapi.tiangolo.com/) : FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.7+ based on standard Python type hints.\n- [Figma](https://figma.com/) : Figma is a vector graphics editor and prototyping tool which is primarily web-based.\n- [Material Components for Android](https://github.com/material-components/material-components-android) : Modular and customizable Material Design UI components for Android.\n- [Netlify](https://www.netlify.com/) : Netlify is a remote-first cloud computing company that offers a development platform that includes build, deploy, and serverless backend services for web applications and dynamic websites.\n- [PlanetScale](https://planetscale.com/) : PlanetScale is the world's most advanced serverless MySQL platform.\n- [Railway](https://railway.app/) : Railway is an infrastructure platform where you can provision infrastructure, develop with that infrastructure locally, and then deploy to the cloud.\n\n\n\u003cbr/\u003e\n\n## Architecture\n\n**NotesBay** is based on the MVVM architecture and the Repository pattern, which follows the [Google's official architecture guidance](https://developer.android.com/topic/architecture).\n![architecture](https://raw.githubusercontent.com/binaryshrey/NotesBay/main/static/mvvm.png)\n\n**NotesBay** was built with [Guide to app architecture](https://developer.android.com/topic/architecture), so it would be a great sample to show how the architecture works in real-world projects.\n\nThe overall architecture of **NotesBay** is composed of three layers - the UI layer, the Domain layer and the Data layer. Each layer has dedicated components and they have each different responsibilities, as defined below.\n\n### Architecture Overview\n\n![architecture](https://raw.githubusercontent.com/binaryshrey/NotesBay/main/static/figure1.png)\n\n- Each layer follows [unidirectional event/data flow](https://developer.android.com/topic/architecture/ui-layer#udf); the UI layer emits user events to the data layer, and the data layer exposes data as a stream to other layers.\n- The data layer is designed to work independently from other layers and must be pure, which means it doesn't have any dependencies on the other layers.\n\nWith this loosely coupled architecture, you can increase the reusability of components and scalability of your app.\n\n### UI Layer\n\n![architecture](https://raw.githubusercontent.com/binaryshrey/NotesBay/main/static/figure2.png)\n\nThe UI layer consists of UI elements to configure screens that could interact with users and [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) that holds app states and restores data when configuration changes.\n- UI elements observe the data flow via [DataBinding](https://developer.android.com/topic/libraries/data-binding), which is the most essential part of the MVVM architecture. \n\n### Data Layer\n\n![architecture](https://raw.githubusercontent.com/binaryshrey/NotesBay/main/static/figure3.png)\n\nThe data Layer consists of repositories, which include business logic, such as querying data from the local database and requesting remote data from the network. It is implemented as an offline-first source of business logic and follows the [single source of truth](https://en.wikipedia.org/wiki/Single_source_of_truth) principle.\u003cbr\u003e\n\n\u003cbr/\u003e\n\n## MAD Score\n![summary](https://raw.githubusercontent.com/binaryshrey/NotesBay/main/static/mad-1.png)\n![kotlin](https://raw.githubusercontent.com/binaryshrey/NotesBay/main/static/mad-2.png)\n\n\u003cbr/\u003e\n\n## Find this repository useful? :heart:\nSupport it by joining [stargazers](https://github.com/binaryshrey/NotesBay/stargazers) for this repository. :star: \u003cbr\u003e\nAlso, [submit an issue](https://github.com/binaryshrey/NotesBay/issues) on GitHub for my any bugs or to request new features!\n\n\u003cbr/\u003e\n\n\n\n## Web Development setup\n\n```\ngit clone https://github.com/binaryshrey/NotesBay.git\ncd NotesBay\nnpm i\ngatsby develop\n```\n\nDevelopment server runs at `http://localhost:8000`.\n\n## Web Prod setup\n\n```\ngatsby build\ngatsby serve\n```\nProduction server runs at `http://localhost:9000`.\nBuild is generated at `public` (which is deployable).\n\n\u003cbr/\u003e\n\n## Web Lighthouse scores\n\n![Lighthouse metrics](https://raw.githubusercontent.com/binaryshrey/NotesBay/main/static/web-lighthouse.png)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinaryshrey%2Fnotesbay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbinaryshrey%2Fnotesbay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinaryshrey%2Fnotesbay/lists"}