All Projects → che1404 → Rgviperchat

che1404 / Rgviperchat

Licence: mit
An iOS chat app written following a VIPER architecture and BDD

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Rgviperchat

Messenger
Open source, native iOS Messenger, with realtime chat conversations (full offline support).
Stars: ✭ 4,264 (+6460%)
Mutual labels:  ios-app, firebase, chat
Mangosta Ios
MongooseIM client for iOS
Stars: ✭ 28 (-56.92%)
Mutual labels:  ios-app, chat
Chat21 Ios Sdk
DEPRECATED
Stars: ✭ 15 (-76.92%)
Mutual labels:  firebase, chat
Vuejs Slack Clone Realtime
Slack clone using VueJS and firebase
Stars: ✭ 33 (-49.23%)
Mutual labels:  firebase, chat
Ios Viper Architecture
This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc.
Stars: ✭ 578 (+789.23%)
Mutual labels:  ios-app, viper
Public
Repository for wallaby.js questions and issues
Stars: ✭ 662 (+918.46%)
Mutual labels:  tdd, bdd
Phpspec Matchers
Collection of additional matchers for phpspec
Stars: ✭ 32 (-50.77%)
Mutual labels:  tdd, bdd
Messenger
iOS - Real-time messaging app 🎨
Stars: ✭ 491 (+655.38%)
Mutual labels:  ios-app, firebase
Flutter Chat Demo
The chat app made by Flutter and Firebase
Stars: ✭ 1,016 (+1463.08%)
Mutual labels:  firebase, chat
Kotlin Firebase Group Chat
Group and OneonOne chat using firebase built in Kotlin similar to whatsapp.
Stars: ✭ 44 (-32.31%)
Mutual labels:  firebase, chat
Kahlan
✔️ PHP Test Framework for Freedom, Truth, and Justice
Stars: ✭ 1,065 (+1538.46%)
Mutual labels:  tdd, bdd
Jasmine Matchers
Write Beautiful Specs with Custom Matchers for Jest and Jasmine
Stars: ✭ 552 (+749.23%)
Mutual labels:  tdd, bdd
Ut
UT: C++20 μ(micro)/Unit Testing Framework
Stars: ✭ 507 (+680%)
Mutual labels:  tdd, bdd
Aruba
Test command-line applications with Cucumber-Ruby, RSpec or Minitest. The most up to date documentation can be found on Cucumber.Pro (https://app.cucumber.pro/projects/aruba)
Stars: ✭ 900 (+1284.62%)
Mutual labels:  tdd, bdd
Chat app
A flutter chat app built with firestore. It is clone of messenger.User can create stories,chat and search in real time.
Stars: ✭ 493 (+658.46%)
Mutual labels:  firebase, chat
Date
A dating app that creates meaningful connections through food (Push notifications, Firebase, Chat, Schedule Calendar, Onboarding, Social media Login)
Stars: ✭ 29 (-55.38%)
Mutual labels:  firebase, chat
Tiledesk Dashboard
The Tiledesk dashboard. Tiledesk is an Open Source Live Chat platform written in NodeJs, firebase and Angular.
Stars: ✭ 53 (-18.46%)
Mutual labels:  firebase, chat
Mocha
☕️ simple, flexible, fun javascript test framework for node.js & the browser
Stars: ✭ 20,986 (+32186.15%)
Mutual labels:  tdd, bdd
Should Enzyme
Useful functions for testing React Components with Enzyme.
Stars: ✭ 41 (-36.92%)
Mutual labels:  tdd, bdd
Ionic Chat With Firebase
IONIC Chat With Firebase
Stars: ✭ 53 (-18.46%)
Mutual labels:  firebase, chat

Build Status codecov License: MIT

RGViperChat

An iOS chat app written following a VIPER architecture and BDD

RGViperChat

With this project I'd like to gather all the best practices I can find when working with a VIPER architecture and a BDD approach. VIPER is the Uncle Bob's Clean Architecture implementation, and it pushes the SRP (Single Responsibility Principle) to the limit. Although it works seamlessly on linear and simple apps, there are always cases in which VIPER doesn't fit perfectly without thinking a bit further: inter module communications, or working view containers like UIPageViewControllers, UITabBarControllers, or Burger menus. The dependency injection is another challenge, particularly for those cases in which a service is reused across different modules of the app.

Here you can find a presentation of a talk I gave about VIPER and BDD: https://robertogarrido.com/wp-content/uploads/2017/06/Clean-Architectures-and-BDD-on-iOS-GitHub.pdf

References

Here you can find a list of interesting readings about VIPER and BDD:

IOS ARCHITECTURE PATTERNS: https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52

ARCHITECTING IOS APPS WITH VIPER: https://www.objc.io/issues/13-architecture/viper/

ARCHITECTING MOBILE APPS WITH (B)VIPER MODULES - A STRUCTURED ENGINEERING APPROACH FOR BIG MOBILE APPS: http://digital.travelport.com/blog/architecting-mobile-apps-with-bviper-modules

VIPER ARCHITECTURE: OUR BEST PRACTICES TO BUILD AN APP LIKE A BOSS: https://cheesecakelabs.com/blog/best-practices-viper-architecture/

IOS PROJECT ARCHITECTURE: USING VIPER: https://cheesecakelabs.com/blog/ios-project-architecture-using-viper/

ENGINEERING THE ARCHITECTURE BEHIND UBER’S NEW RIDER APP: https://eng.uber.com/new-rider-app/

Author

I'm Roberto Garrido, a freelance iOS developer available for hire on my website: https://robertogarrido.com

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].