Skip to content

Instantly share code, notes, and snippets.

View ahmmedrejowan's full-sized avatar
💀
Coding

K M Rejowan Ahmmed ahmmedrejowan

💀
Coding
View GitHub Profile

📱 LinkSaver – Project Plan

1️⃣ Project Goal

Create an offline-first Android app that allows users to save, organize, and manage web links with snapshots for future reference.
Users can:

  • Save links with custom title, notes, and preview image.
  • Store snapshots (reader mode, PDF, or full-page screenshot) locally.
  • Organize links into folders/collections.
  • Optionally sync metadata (not snapshots) across devices via Appwrite.

Open Source Project Plan: Bank Info Management App

1. Executive Summary

1.1 Project Overview

This project involves the creation of a secure, open-source Android application designed to help users store and manage sensitive bank account information locally on their devices. The app will ensure that users can store critical banking details (e.g., account numbers, routing numbers, SWIFT codes, etc.) securely, with full encryption of all data and authentication using biometrics or PIN/password protection. The app will be ad-free, open-source, and available for free on GitHub, ensuring that users have full control over their data.

1.2 Purpose and Goals

{
"isPaid": true,
"isPaidFull": true
}
[
{
"id": "bitcoin",
"symbol": "btc",
"name": "Bitcoin",
"image": "https://assets.coingecko.com/coins/images/1/large/bitcoin.png?1696501400",
"current_price": 66773,
"market_cap": 1314983236696,
"market_cap_rank": 1,
"fully_diluted_valuation": 1401729464877,
[
{
"id": "1",
"title": "Big Buck Bunny",
"thumbnailUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/Big_Buck_Bunny_thumbnail_vlc.png/1200px-Big_Buck_Bunny_thumbnail_vlc.png",
"duration": "8:18",
"uploadTime": "May 9, 2011",
"views": "24,969,123",
"author": "Vlc Media Player",
"videoUrl": "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4",
@ahmmedrejowan
ahmmedrejowan / MainActivity.java
Created May 31, 2023 11:14
Use this to hide keyboard and remove focus when touched outside of EditText
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (v instanceof EditText) {
Rect outRect = new Rect();
v.getGlobalVisibleRect(outRect);
if (!outRect.contains((int) event.getRawX(), (int) event.getRawY())) {
v.clearFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
@ahmmedrejowan
ahmmedrejowan / Main.java
Created February 3, 2023 21:15
SearchView setOnCloseListener Alternate way to make it work
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
//////////////// Your codes
SearchView searchView = findViewById(R.id.search_view);
int searchCloseButtonId = searchView.findViewById(androidx.appcompat.R.id.search_close_btn).getId();
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:checkable=""
android:clickable=""
android:focusable=""
app:cardBackgroundColor=""
app:cardCornerRadius=""
app:cardElevation=""
app:cardMaxElevation=""
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardBackgroundColor=""
app:cardCornerRadius=""
app:cardElevation=""
app:cardMaxElevation=""
app:cardPreventCornerOverlap=""
app:cardUseCompatPadding=""
app:contentPadding=""
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>