Chatto

A lightweight framework to build chat applications, made in Swift

Full Stack Web DevelopmentSwiftMIT

Abstract

Chatto is an open-source Full Stack Web Development project. A lightweight framework to build chat applications, made in Swift. Chatto is a Swift lightweight framework to build chat applications. It's been designed to be extensible and performant. It is built using Swift. Key capabilities include: Calculation of collection view changes and layout in background; Supports pagination in both directions and autoloading; Message count contention for fast pagination and rotation with thousands of messsages. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building a Full Stack Web Development mini project or final-year project.

1. Introduction

Chatto is a Swift lightweight framework to build chat applications. It's been designed to be extensible and performant. Along with Chatto there is ChattoAdditions, a companion framework which includes cells for messages and an extensible input component. You can find more details about how it was implemented in our blog. See them in action!

2. Objective

A lightweight framework to build chat applications, made in Swift

This project demonstrates how Swift can be applied to a real-world Full Stack Web Development problem.

3. Key Features / Modules

  • Calculation of collection view changes and layout in background
  • Supports pagination in both directions and autoloading
  • Message count contention for fast pagination and rotation with thousands of messsages
  • Accessory view revealing by swiping from right
  • Interactive keyboard dismissal
  • Text bubbles
  • Photo bubbles
  • Extensible input bar

4. Technology Stack

Swift

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Xcode on macOS
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/badoo/Chatto.git
cd Chatto

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add role-based access control
  • Deploy on a VPS or cPanel hosting with a custom domain
  • Add automated tests and a CI pipeline

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Explain the frontend, backend and database layers of this application.
  2. How is user authentication and authorisation implemented?
  3. Describe the main database tables / collections and their relationships.
  4. Which REST APIs or routes are exposed and what do they return?
  5. How would you deploy this application to production?

9. Source Code & License

This project is developed by badoo and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Full Stack Web Development project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Full Stack Web Development Internship