{"id":13614824,"url":"https://github.com/alexstyl/Memento-Calendar","last_synced_at":"2025-04-13T20:32:19.895Z","repository":{"id":148836856,"uuid":"66690455","full_name":"alexstyl/Memento-Calendar","owner":"alexstyl","description":"The sweetest calendar for Android","archived":true,"fork":false,"pushed_at":"2021-01-10T17:49:00.000Z","size":6685,"stargazers_count":208,"open_issues_count":0,"forks_count":50,"subscribers_count":14,"default_branch":"main","last_synced_at":"2024-08-02T20:46:30.713Z","etag":null,"topics":["android","bankholidays","birthdays","contacts","memento","memento-calendar","namedays","transitions","wiki"],"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/alexstyl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-08-27T02:02:49.000Z","updated_at":"2024-05-10T19:27:51.000Z","dependencies_parsed_at":"2023-07-02T02:15:23.743Z","dependency_job_id":null,"html_url":"https://github.com/alexstyl/Memento-Calendar","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexstyl%2FMemento-Calendar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexstyl%2FMemento-Calendar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexstyl%2FMemento-Calendar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexstyl%2FMemento-Calendar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexstyl","download_url":"https://codeload.github.com/alexstyl/Memento-Calendar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223605437,"owners_count":17172488,"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":["android","bankholidays","birthdays","contacts","memento","memento-calendar","namedays","transitions","wiki"],"created_at":"2024-08-01T20:01:06.075Z","updated_at":"2024-11-07T23:30:25.802Z","avatar_url":"https://github.com/alexstyl.png","language":"Java","funding_links":[],"categories":[":shamrock:  **Categories**"],"sub_categories":[":gear: Utilities"],"readme":"# Archived\n\nThe repo is now archived and no new commits will take place. Thank for your support and contributions. \n\n\n# Memento Calendar for Android  [![alt text](https://travis-ci.org/alexstyl/Memento-Calendar.svg?branch=master \"Check the build status on Travis CI\")](https://travis-ci.org/alexstyl/Memento-Calendar)\n\n\u003cimg src=\"https://github.com/alexstyl/Memento-Calendar/blob/main/android_common/src/main/res/mipmap-xxxhdpi/ic_launcher.png?raw=true\" width=\"200\" align=\"right\" hspace=\"20\"\u003e\n\nMemento Calendar is a modern namedays app for Android.\nThis repository contains the source code of Memento Calendar.\n\nYou can get started by having a look at the project's wiki. It contains some information about how to get Memento up and running on your machine and other useful info.\n\nThis repo is open for PRs and they are more than welcome! Have a look [at the wiki page to see how to contribute](https://github.com/alexstyl/Memento-Calendar/wiki/How-to-contribute).\n\n\n[![alt text](http://developer.android.com/images/brand/en_app_rgb_wo_60.png \"Download Memento Calendar from the Play Store\")](https://play.google.com/store/apps/details?id=com.alexstyl.specialdates)\n\n## Project Goal\nMemento Calendar is my pet project/playground in which I experiment with various platform features development patterns and share my foundings with the community my foundings via blog posts and talks. Memento started off as a side project app back in 2014 and has been on development on and off. Current goal of the project is to split out the business logic of the app from the app logic so that it could potentially be ported into other platforms with the help of Kotlin.\n\n## Modules\nThe app is split into multiple modules. \nThe business logic of the app can be found in the **memento** module. There are three other Android Modules: \n\n### android_common\nThis is the shared resources across all Android specific modules. It depends on *memento*.\n\n### android_wear\nThis is the Android Wear module. It depends on *android_common*.\n\n### android_mobile\nThis is the Android mobile app module. It depends on *android_common*.\n\n## Architecture\nThe Model-View-Presenter is used in order to architecture the app. \n\n**Presenters** are platform agnostic and live in the **memento** module, in order to be able to be used across all platforms. They contain the core logic of forwarding *Models* to the *Views*. It is up for the specific platform component to create a View\n\n**Views** are responsible displaying information back to the user. For each view there is one interface that lives in the memento module. A view is not to be confused with Android's View classes, Activities or Fragments. \n\n**Models** contain the minimum amount of information needed to render the information on the screen.\n\nI did a talk in the GDG Android Athens about the structure of Memento Calendar. The talk is in Greek, but the slides contain more information about the structure [(see the slides)](https://speakerdeck.com/alexstyl/the-journey-towards-a-platform-agnostic-codebase).\n\n\n\n## License\n```\nMIT License\n\nCopyright (c) 2016 Alex Styl\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexstyl%2FMemento-Calendar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexstyl%2FMemento-Calendar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexstyl%2FMemento-Calendar/lists"}