/EventCademy

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.

Primary LanguageKotlinApache License 2.0Apache-2.0

EventCademy

EventCademy

Description

Eventcademy is an 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. Whether you're into tech meetups, cultural festivals, workshops, or more, Eventcademy connects you with events that matter in your community. Stay informed, engage with organizers, and explore what's happening near you with Eventcademy.

Eventcademy is also very much a testing ground for things I personally dive into, from architecture, libraries, patterns, API quirks, and more. It's been a very fun project to spike test new things.

Features

  • Event feed and advertisement
  • Event details
  • Event registration
  • See booked events
  • Publish and manage events
  • Settings
  • Profile

Tech Stack

  • 100% Kotlin
  • Coroutines + Flow to simplify code that executes asynchronously.
  • Firebase
  • JetPack
    • Compose - A modern toolkit for building native Android UI.
    • Hilt - for dependency injection.
    • Lifecycle - dispose observing data when lifecycle state changes.
    • ViewModel - UI related data holder, lifecycle aware.
  • Material Design 3 - Material 3 includes Material You personalization features like dynamic color, and is designed to be cohesive with the new visual style and system UI on Android 12 and above
  • Lottie Android - Render After Effects animations natively on Android
  • KSP - Kotlin Symbol Processing API.
  • Coil - An image loading library for Android backed by Kotlin Coroutines.
  • JUnit - a “Unit Testing” framework

Development and Contribution

Setup firebase

To setup this project, you need to :

  • create a Firebase project and add an Android app to the project. When prompted, use the package name com.yveskalume.eventcademy.
  • Download the generated google-services.json file and place it in the app/ directory.

Bug fixes are always welcome. Tests are too if you're into that kinda thing, but I'm not actively trying to make this project a shining icon of TDD. For new features or otherwise significant work, please discuss in an issue first.

License

Copyright (C) 2023 Yves Kalume

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.