All Projects → t3ddyss → Clother

t3ddyss / Clother

Licence: MIT License
Clother is an Android client-server app for swapping unused clothes.

Programming Languages

kotlin
9241 projects
python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects
HTML
75241 projects
shell
77523 projects
Mako
254 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Clother

RickAndMorty
No description or website provided.
Stars: ✭ 63 (+186.36%)
Mutual labels:  mvvm, hilt, paging3
Updoot
A reddit client built for android
Stars: ✭ 51 (+131.82%)
Mutual labels:  mvvm, kotlin-coroutines, hilt
Photos
No description or website provided.
Stars: ✭ 74 (+236.36%)
Mutual labels:  kotlin-coroutines, hilt, paging3
RickAndMorty-AndroidMVVMSample
An android sample project using Jetpack libraries and MVVM design pattern
Stars: ✭ 17 (-22.73%)
Mutual labels:  mvvm, kotlin-coroutines, hilt
Eyepetizer
🔥基于 Kotlin 语言仿写「开眼 Eyepetizer」的一个短视频 Android 客户端项目,采用 Jetpack + 协程实现的 MVVM 架构。
Stars: ✭ 988 (+4390.91%)
Mutual labels:  mvvm, kotlin-coroutines
Myweatherkotlinflow
Android app that shows weather at your current location or any custom location you specify. Uses Kotlin Flow for data streaming and coroutines for asynchronous work. Also leverages Room, navigation component, Viewmodel and Livedata Jetpack components with MVVM presentation layer architecture. Dagger 2 with Dagger android for dependency injection
Stars: ✭ 23 (+4.55%)
Mutual labels:  mvvm, kotlin-coroutines
Easychatandroidclient
EasyChat是一个开源的社交类的App。主要包含消息、好友、群组等相关的IM核心功能。部分界面参照了QQ、微信等相关社交APP。EasyChat APP整体采用MVVM模式,基于JetPack(Lifecycle,LiveData,ViewModel,Room)构建
Stars: ✭ 64 (+190.91%)
Mutual labels:  mvvm, kotlin-coroutines
Droid Feed
Aggregated Android news, articles, podcasts and conferences about Android Development
Stars: ✭ 174 (+690.91%)
Mutual labels:  mvvm, kotlin-coroutines
Pokedex
🗡️ Android Pokedex using Hilt, Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture.
Stars: ✭ 4,882 (+22090.91%)
Mutual labels:  mvvm, hilt
Mvvm Architecture
The practice of MVVM + Jetpack architecture in Android.
Stars: ✭ 1,634 (+7327.27%)
Mutual labels:  mvvm, hilt
Askme
Social media app to ask and answer user questions and interact with users
Stars: ✭ 16 (-27.27%)
Mutual labels:  mvvm, paging3
Peopleinspace
Minimal Kotlin Multiplatform project using Jetpack Compose and SwiftUI
Stars: ✭ 887 (+3931.82%)
Mutual labels:  mvvm, kotlin-coroutines
Reactive Mvvm Android
My way to MVVM using KotlinX Coroutines and Android data-binding
Stars: ✭ 626 (+2745.45%)
Mutual labels:  mvvm, kotlin-coroutines
SunnyBeach
阳光沙滩APP
Stars: ✭ 60 (+172.73%)
Mutual labels:  hilt, paging3
Android Showcase
💎 Android application following best practices: Kotlin, Coroutines, JetPack, Clean Architecture, Feature Modules, Tests, MVVM, DI, Static Analysis...
Stars: ✭ 5,214 (+23600%)
Mutual labels:  mvvm, kotlin-coroutines
Modular App Core
Core implementations for a modular Android App
Stars: ✭ 127 (+477.27%)
Mutual labels:  mvvm, kotlin-coroutines
Delish
Delish, a Food Recipes App in Jetpack Compose and Hilt based on modern Android tech-stacks and MVI clean architecture.
Stars: ✭ 356 (+1518.18%)
Mutual labels:  kotlin-coroutines, hilt
android-compose-mvvm-foodies
Android sample app following best practices: Kotlin, Compose, Coroutines and Flow, Hilt, JetPack Navigation, ViewModel, MVVM, Retrofit, Coil
Stars: ✭ 374 (+1600%)
Mutual labels:  kotlin-coroutines, hilt
GitHubApplication
GitHubApplication 📱 is an Android application built to demonstrate the use of modern Android development tools - (Kotlin, Coroutines, Hilt, LiveData, View binding, Data Store, Architecture components, MVVM, Room, Retrofit, Navigation).
Stars: ✭ 11 (-50%)
Mutual labels:  mvvm, hilt
android-pokemon-compose
A simple app demonstrates using Jetpack compose with other Jetpack libraries.
Stars: ✭ 56 (+154.55%)
Mutual labels:  hilt, paging3

Overview

Clother is an Android client-server application for swapping unused clothes written in Python and Kotlin.

Demonstration

Demonstration.mov

Features

  • Authentication
    • Registration with email confirmation
    • Login
    • Password recovery
  • Paginated list of offers
  • Search by text query or category with the following filters: size, location
  • Creation of your own offer with up to 5 images, category, title, description, size and location
  • Realtime person-to-person chat with push notifications support
  • Offers and messages caching

Built with

Getting started

Follow the steps below to run the application.

Prerequisites

  1. Install Docker
  2. Obtain Google Maps API key as described here
  3. Create Firebase Cloud Messaging project as described here and obtain API key

Installation

  1. Clone the repository and navigate to Backend directory
  2. Create instance folder and config.py file inside this folder. This folder should be added to .gitignore because it will contain your sensitive data
  3. Open config.py file and specify the following parameters: SECRET_KEY, JWT_SECRET_KEY, MAIL_SERVER, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_DEFAULT_SENDER, MAIL_USE_TLS, MAIL_USE_SSL, FCM_API_KEY (your Firebase Cloud Messaging API key)
  4. Open Docker Desktop and wait for the engine to start
  5. Navigate back to Backend directory, open command line here and execute docker-compose up -d --build. After containers start, visit http://localhost:5000/ to check that everything is fine. You should get 404 HTTP error
  6. Execute docker-compose exec api bash to open bash inside the Docker container. Then execute ./setup.sh to create database tables and populate them. If you don't want to populate some tables, just remove the corresponding commands from the setup.sh, e.g., flask admin mock-messages
  7. Now open Client folder as Android Studio project
  8. Add the following line to the global gradle.properties file: GOOGLE_MAPS_API_KEY="%YOUR_API_KEY%".
  9. If you are going to run this app on your physical device, go to Client/app/src/main/java/com/t3ddyss/clother/utilities/Constants.kt and change BASE_URL_DEVICE to the IP address of your machine
  10. Register the app with Firebase as described here. You will need to replace Client/app/google-services.json with your google-services.json file
  11. At this point, you should be able to successfully build, run and use the application

Roadmap

  • Implement deep linking for push notifications
  • Support images in chat
  • Migrate to PostgreSQL and add advanced database triggers
  • Support different timezones

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Telegram: @t3ddys
Github repository: https://github.com/t3ddyss/Clother

Acknowledgements

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].