{"id":23217376,"url":"https://github.com/yveskalume/eventcademy","last_synced_at":"2026-03-06T11:04:42.132Z","repository":{"id":191686693,"uuid":"667401571","full_name":"yveskalume/EventCademy","owner":"yveskalume","description":"An Opensource event app designed for local tech and cultural communities. It provides a platform for event organizers to publish their events, making it easy for you to discover and join local gatherings.","archived":false,"fork":false,"pushed_at":"2025-05-12T17:53:07.000Z","size":51835,"stargazers_count":19,"open_issues_count":7,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-19T08:46:21.949Z","etag":null,"topics":["android","architecture","firebase","jetpack-compose","kotlin"],"latest_commit_sha":null,"homepage":"https://play.google.com/store/apps/details?id=com.yveskalume.eventcademy","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yveskalume.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2023-07-17T12:24:33.000Z","updated_at":"2025-05-12T16:55:37.000Z","dependencies_parsed_at":"2024-04-22T16:54:52.871Z","dependency_job_id":"9dee8b10-4c45-47f4-8b55-bcb5edb70b7b","html_url":"https://github.com/yveskalume/EventCademy","commit_stats":null,"previous_names":["yveskalume/eventcademy"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/yveskalume/EventCademy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yveskalume%2FEventCademy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yveskalume%2FEventCademy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yveskalume%2FEventCademy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yveskalume%2FEventCademy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yveskalume","download_url":"https://codeload.github.com/yveskalume/EventCademy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yveskalume%2FEventCademy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30173376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T07:56:45.623Z","status":"ssl_error","status_checked_at":"2026-03-06T07:55:55.621Z","response_time":250,"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":["android","architecture","firebase","jetpack-compose","kotlin"],"created_at":"2024-12-18T20:48:00.665Z","updated_at":"2026-03-06T11:04:37.122Z","avatar_url":"https://github.com/yveskalume.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"![EventCademy](art/banner.png \"EventCademy\")\n\u003ca href=\"https://play.google.com/store/apps/details?id=com.yveskalume.eventcademy\"\u003e\u003cimg src=\"https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png\" height=\"70\"\u003e\u003c/a\u003e\n\n# EventCademy\n\n## Description\n\nEventcademy is an event app designed for local tech and cultural communities. It provides a platform\nfor event organizers to publish their events, making it easy for you to discover and join local\ngatherings. Whether you're into tech meetups, cultural festivals, workshops, or more, Eventcademy\nconnects you with events that matter in your community. Stay informed, engage with organizers, and\nexplore what's happening near you with Eventcademy.\n\nEventcademy is also very much a testing ground for things I personally dive into, from architecture,\nlibraries, patterns, API quirks, and more. It's been a very fun project to spike test new things.\n\n## Features\n\n- Event feed and advertisement\n- Event details\n- Event registration\n- See booked events\n- Publish and manage events\n- Settings\n- Profile\n\n## Tech Stack\n\n- 100% [Kotlin](https://kotlinlang.org/)\n- [Coroutines](https://github.com/Kotlin/kotlinx.coroutines) + [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/)\n  to simplify code that executes asynchronously.\n- Firebase\n    - [Authentication](https://firebase.google.com/docs/auth) - to authenticate users.\n    - [Firestore](https://firebase.google.com/docs/firestore) - a flexible, scalable NoSQL cloud\n      database to store and sync data.\n    - [Storage](https://firebase.google.com/docs/storage) - to store files.\n    - [Crashlytics](https://firebase.google.com/docs/crashlytics) - to track crashes.\n    - [Analytics](https://firebase.google.com/docs/analytics) - to track app usage.\n    - [Remote Config](https://firebase.google.com/docs/remote-config) - to remotely configure the\n      app.\n    - [Cloud Messaging](https://firebase.google.com/docs/cloud-messaging) - to send push\n      notifications.\n- JetPack\n    - [Compose](https://developer.android.com/jetpack/compose) - A modern toolkit for building\n      native Android UI.\n    - [Hilt](https://developer.android.com/training/dependency-injection/hilt-android) - for\n      dependency injection.\n    - [Lifecycle](https://developer.android.com/jetpack/androidx/releases/lifecycle) - dispose\n      observing data when lifecycle state changes.\n    - [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - UI related\n      data holder, lifecycle aware.\n- [Material Design 3](https://developer.android.com/jetpack/compose/designsystems/material3) -\n  Material 3 includes Material You personalization features like dynamic color, and is designed to\n  be cohesive with the new visual style and system UI on Android 12 and above\n- [Lottie Android](https://github.com/airbnb/lottie-android) - Render After Effects animations\n  natively on Android\n- [KSP](https://github.com/google/ksp) - Kotlin Symbol Processing API.\n- [Coil](https://coil-kt.github.io/coil/compose/) - An image loading library for Android backed by\n  Kotlin Coroutines.\n- [JUnit](https://developer.android.com/training/testing/local-tests) - a “Unit Testing” framework\n\n## Development and Contribution\n\n### Setup firebase\n\nTo setup this project, you need to :\n\n- create a Firebase project and add an Android app to the project. When prompted, use the package\n  name `com.yveskalume.eventcademy`.\n- Download the generated `google-services.json` file and place it in the `app/` directory.\n\nBug fixes are always welcome. Tests are too if you're into that kinda thing, but I'm not actively\ntrying to make this project a shining icon of TDD. For new features or otherwise significant work,\nplease discuss in an issue first.\n\nLicense\n-------\n\n\tCopyright (C) 2023 Yves Kalume\n\n\tLicensed under the Apache License, Version 2.0 (the \"License\");\n\tyou may not use this file except in compliance with the License.\n\tYou may obtain a copy of the License at\n\n\thttp://www.apache.org/licenses/LICENSE-2.0\n\n\tUnless required by applicable law or agreed to in writing, software\n\tdistributed under the License is distributed on an \"AS IS\" BASIS,\n\tWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\tSee the License for the specific language governing permissions and\n\tlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyveskalume%2Feventcademy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyveskalume%2Feventcademy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyveskalume%2Feventcademy/lists"}