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.
- Event feed and advertisement
- Event details
- Event registration
- See booked events
- Publish and manage events
- Settings
- Profile
- 100% Kotlin
- Coroutines + Flow to simplify code that executes asynchronously.
- Firebase
- Authentication - to authenticate users.
- Firestore - a flexible, scalable NoSQL cloud database to store and sync data.
- Storage - to store files.
- Crashlytics - to track crashes.
- Analytics - to track app usage.
- Remote Config - to remotely configure the app.
- Cloud Messaging - to send push notifications.
- JetPack
- 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
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 theapp/
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.
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.