Skip to content

RESTful chat application utilizing Go (Golang) for the backend and Vue.js for the frontend. Includes OpenAPI documentation, Docker support, and SQLite persistence.

License

Notifications You must be signed in to change notification settings

and-per-i/WasaText-Go-Chat

Repository files navigation

📱 WasaText

WasaText is a modern and lightweight social messaging platform, developed as the final project for the Web and Software Architecture course.

The application allows users to exchange text messages and images in real-time, manage group conversations, and interact via advanced features such as message forwarding and replies.

Project Status Go Version Vue Version License

🚀 Key Features

The application implements a complete set of features required for a modern messaging app:

👤 User Management

  • Simplified Login: Access via username (automatic account creation if not existing).
  • Customizable Profiles: Setting of nicknames and profile photos.
  • User Search: Search system to find other users on the platform.

💬 Messaging & Chat

  • 1-to-1 Conversations: Direct private chats between users.
  • Groups: Creation and management of groups with custom names and icons.
  • Multimedia Support: Sending and viewing of images (Base64 encoding).
  • Message Status: Visualization of delivery status (sent, delivered, read).

⚡ Advanced Interactions

  • Reply (Thread): Ability to reply to specific messages creating a thread.
  • Forwarding: Forwarding existing messages to other chats or groups.
  • Reactions: Support for emoji reactions on messages.
  • History Management: Deleting messages and conversations.

🛠 Architecture and Technologies

The project follows a containerized Modular Monolith architecture:

  • Backend: Written in Go (Golang). Exposes a REST API documented via OpenAPI 3.0.
  • Frontend: Single Page Application (SPA) built with Vue.js.
  • Database: SQLite embedded for data persistence.
  • Deployment: The application is designed to be compiled into a single binary or run via Docker.

📦 Installation and Startup

Prerequisites

  • Go 1.18+
  • Node.js & Yarn (or Docker)

Method 1: Quick Start (Docker)

The easiest way to test the application is to use Docker (if configured):

docker-compose up --build

About

RESTful chat application utilizing Go (Golang) for the backend and Vue.js for the frontend. Includes OpenAPI documentation, Docker support, and SQLite persistence.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •