Cross Chat Xamarin Forms

A chat application implemented using Xamarin.Forms and DDD + MVVM

Full Stack Web DevelopmentC#Apache-2.0

Abstract

Cross Chat Xamarin Forms is an open-source Full Stack Web Development project. A chat application implemented using Xamarin.Forms and DDD + MVVM. Want to learn a new technology\framework\language\etc ? - write a chat app! It is built using C#. The complete source code is publicly available on GitHub under the Apache License 2.0, making it a useful reference for students building a Full Stack Web Development mini project or final-year project.

1. Introduction

Want to learn a new technology\framework\language\etc ? - write a chat app! So did I. This app allows anyone to chat (and even to send images!) in the global chat room on his WP8, iOS or Android smartphone.

Server side is built using DDD approach, data is stored in SQL using Entity Framework Code First, and transmitted using low level sockets (I created my own WCF :)

Client side is built using amazing Xamarin.Forms with MVVM approach.

2. Objective

A chat application implemented using Xamarin.Forms and DDD + MVVM

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

4. Technology Stack

C#

5. System Requirements

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

  • .NET SDK / Visual Studio
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/EgorBo/CrossChat-Xamarin.Forms.git
cd CrossChat-Xamarin.Forms

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 EgorBo and published on GitHub under the Apache License 2.0. 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