Skip to content

gabe is a real-time chat app, produced as my IE course final project

Notifications You must be signed in to change notification settings

mr-amirfazel/Gabe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gabe

DALL·E 2024-01-15 01 42 15 - Iconic and colorful depiction of the Archangel Gabriel texting, in a minimalistic and modern style  The image features Gabriel surrounded by cosmic el

Description

Gabe is a micro-service, real-time chat app in order to be my Internet Engineering course project The name was inspired from the name "Gabriel", The Archangel

Tech Stack

  • Backend:
    • Auth Service : Echo (a Golang framework) Go
    • Chat Service : NestJs (a NodeJS framework) NestJS
  • FrontEnd:
    • ReactJs React Vite MatreialUI
  • Data Base As A service
    • MongoDB Atlas MongoDB
  • Real-Time data transfer
    • Socket.io Socket.io
  • Auth method
    • JWT JWT

Screenshots

image image image

How to Run

Preapare config and .env files

  • AuthService:

    in AuthService directory, go to /configs and create a conf.yaml file with structure like below:
        Database:
          URI : <your atlas db uri>
          Name : <your db name>
        JWTKEY: <your jwt authentication key>
    
  • chat-service:

    the same data should be given to chat service (nest app) as well. in chat-service directory, create a .env file with structure like below:
      DATABSE_URI=<your atlas db uri>
      DATABASE_NAME=<your db name>
      JWTKEY=<your jwt authentication key>
    

Run App

  • via powershell

    in order to run the app using the powershell script, open a powershell window in the app directory and execute this command:
      .\app-runner.ps1
    
  • via docker-compose

    there are some issues in the dockerfiles, but you still can use command below to run the backend services:
      docker-compose up -d --build
    
    and run the frontend app using these commands:
      npm install
      npm run dev