{"id":49666019,"url":"https://github.com/arpanpatra111/atmark","last_synced_at":"2026-05-06T16:14:16.098Z","repository":{"id":323288069,"uuid":"1091930230","full_name":"ARPANPATRA111/AtMark","owner":"ARPANPATRA111","description":"A signup-based attendance management app built with React Native CLI, designed to make attendance tracking effortless for teachers. The app delivers lightning-fast performance thanks to its use of WatermelonDB for local storage and seamless synchronization with a Supabase-hosted PostgreSQL database.","archived":false,"fork":false,"pushed_at":"2025-11-22T19:49:00.000Z","size":3111,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-22T21:18:41.602Z","etag":null,"topics":["react-native-cli","supabase","watermelondb"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/ARPANPATRA111.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-07T18:23:28.000Z","updated_at":"2025-11-22T19:49:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ARPANPATRA111/AtMark","commit_stats":null,"previous_names":["arpanpatra111/atmark"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ARPANPATRA111/AtMark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARPANPATRA111%2FAtMark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARPANPATRA111%2FAtMark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARPANPATRA111%2FAtMark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARPANPATRA111%2FAtMark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ARPANPATRA111","download_url":"https://codeload.github.com/ARPANPATRA111/AtMark/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ARPANPATRA111%2FAtMark/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32701582,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T08:33:17.875Z","status":"ssl_error","status_checked_at":"2026-05-06T08:33:17.221Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["react-native-cli","supabase","watermelondb"],"created_at":"2026-05-06T16:14:11.863Z","updated_at":"2026-05-06T16:14:16.092Z","avatar_url":"https://github.com/ARPANPATRA111.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AtMark - Attendance Tracker\n\nA production-ready attendance tracking application built with React Native CLI, featuring WatermelonDB for robust offline-first data management, Supabase sync for multi-device support, and a beautiful modern UI.\n\n![Alt](./design.gif)\n\n## 📥 Download\n\nDownload the latest version from [GitHub Releases](https://github.com/ARPANPATRA111/AtMark/releases/latest)\n\n[![Download APK](https://img.shields.io/github/v/release/ARPANPATRA111/AtMark?label=Download%20APK\u0026style=for-the-badge\u0026logo=android)](https://github.com/ARPANPATRA111/AtMark/releases/latest/download/atmark-v1.0.0.apk)\n\n## 🚀 Features\n\n### Core Functionality\n- **Class Management**: Create, rename, and delete classes with PDf import support\n- **Student Management**: Add individual students or import entire batches from Excel files\n- **Attendance Tracking**: Quick and intuitive attendance marking with calendar date selection\n- **Attendance History**: Visual calendar view showing individual student attendance patterns\n- **Multi-Device Sync**: Cloud sync via Supabase - same account, same data across all devices\n- **PDF Export**: Export attendance reports in PDF format\n- **Search \u0026 Filter**: Quickly find students with real-time search functionality\n\n### Technical Highlights\n- **Offline-First**: WatermelonDB provides SQLite-based local storage with full offline capability\n- **Cloud Sync**: Automatic conflict resolution and multi-device data synchronization via Supabase\n- **Soft Deletes**: Recoverable deletion with cascade triggers for data integrity\n- **Optimistic UI**: Instant feedback with background data persistence\n- **Haptic Feedback**: Enhanced UX with tactile responses throughout the app\n- **Beautiful UI**: Modern design with smooth animations and intuitive interactions\n\n## 📱 Tech Stack\n\n### Core Framework\n- **React Native CLI**: 0.82.x\n- **TypeScript**: Full type safety across the codebase\n- **Navigation**: @react-navigation/native + @react-navigation/stack\n\n### Data \u0026 Storage\n- **Database**: @nozbe/watermelondb (SQLite-based reactive database)\n- **Cloud Backend**: @supabase/supabase-js (Authentication, PostgreSQL sync)\n- **Local Storage**: @react-native-async-storage/async-storage\n- **Network**: @react-native-community/netinfo\n\n### UI Components\n- **Icons**: react-native-vector-icons (Material Icons)\n- **Gradients**: react-native-linear-gradient\n- **Calendars**: react-native-calendars\n- **Date Picker**: @react-native-community/datetimepicker\n- **Gestures**: react-native-gesture-handler\n- **Safe Areas**: react-native-safe-area-context\n\n### Import/Export\n- **Excel Import**: xlsx + react-native-fs + @react-native-documents/picker\n- **CSV Export**: Native JavaScript + react-native-share\n- **File System**: react-native-fs\n\n### Developer Experience\n- **Haptics**: react-native-haptic-feedback\n- **Utilities**: date-fns (date formatting)\n- **Environment**: react-native-dotenv\n\n## 🛠️ Installation\n\n\u003e **Note**: Make sure you have completed the [React Native Environment Setup](https://reactnative.dev/docs/set-up-your-environment) guide before proceeding.\n\n## Step 1: Start Metro\n\nFirst, you will need to run **Metro**, the JavaScript build tool for React Native.\n\nTo start the Metro dev server, run the following command from the root of your React Native project:\n\n```sh\n# Using npm\nnpm start\n\n# OR using Yarn\nyarn start\n```\n\n## Step 2: Build and run your app\n\nWith Metro running, open a new terminal window/pane from the root of your React Native project, and use one of the following commands to build and run your Android or iOS app:\n\n### Android\n\n```sh\n# Using npm\nnpm run android\n\n# OR using Yarn\nyarn android\n```\n\n### iOS\n\nFor iOS, remember to install CocoaPods dependencies (this only needs to be run on first clone or after updating native deps).\n\nThe first time you create a new project, run the Ruby bundler to install CocoaPods itself:\n\n```sh\nbundle install\n```\n\nThen, and every time you update your native dependencies, run:\n\n```sh\nbundle exec pod install\n```\n\nFor more information, please visit [CocoaPods Getting Started guide](https://guides.cocoapods.org/using/getting-started.html).\n\n```sh\n# Using npm\nnpm run ios\n\n# OR using Yarn\nyarn ios\n```\n\nIf everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device.\n\nThis is one way to run your app — you can also build it directly from Android Studio or Xcode.\n\n## Step 3: Modify your app\n\nNow that you have successfully run the app, let's make changes!\n\nOpen `App.tsx` in your text editor of choice and make some changes. When you save, your app will automatically update and reflect these changes — this is powered by [Fast Refresh](https://reactnative.dev/docs/fast-refresh).\n\nWhen you want to forcefully reload, for example to reset the state of your app, you can perform a full reload:\n\n- **Android**: Press the \u003ckbd\u003eR\u003c/kbd\u003e key twice or select **\"Reload\"** from the **Dev Menu**, accessed via \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eM\u003c/kbd\u003e (Windows/Linux) or \u003ckbd\u003eCmd ⌘\u003c/kbd\u003e + \u003ckbd\u003eM\u003c/kbd\u003e (macOS).\n- **iOS**: Press \u003ckbd\u003eR\u003c/kbd\u003e in iOS Simulator.\n\n## Congratulations! :tada:\n\nYou've successfully run and modified your React Native App. :partying_face:\n\n### Now what?\n\n- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps).\n- If you're curious to learn more about React Native, check out the [docs](https://reactnative.dev/docs/getting-started).\n\n# Troubleshooting\n\nIf you're having issues getting the above steps to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.\n\n# Learn More\n\nTo learn more about React Native, take a look at the following resources:\n\n- [React Native Website](https://reactnative.dev) - learn more about React Native.\n- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment.\n- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**.\n- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts.\n- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farpanpatra111%2Fatmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farpanpatra111%2Fatmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farpanpatra111%2Fatmark/lists"}