Skip to content

LeoStormer/strife

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

157 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Strife App

This project is a Full-Stack Discord-like real time chat application that I am developing as a learning excercise to improve my software design techniques and practice with modern web development technologies. It is currently a work in progress.

Learning Goals

  • Master real-time communication between frontend and backend programs using websockets.
  • Learn how to build a Java Rest Api.
  • Connect a Java program to a database using Spring Data (MongoDB).
  • Authenticate users with session cookies in Spring Security.
  • Learn how to prevent cross-site request forgery with Spring Security.
  • Build a frontend app with React.
  • Make api requests from frontend to backend.
  • Understand the decision process behind improving UX.

Key Features

  • User authentication
  • Server creation and management (create/delete servers/invites)
  • Channel creation and management (create/move/delete channels)
  • Direct messaging
  • Real-time message updates
  • User roles and permissions (server-wide and channel specific) management
  • User Friendship management (add friends, delete friends, block users)

Technologies Used

  • Frontend: Typescript, Node, CSS, Nextjs, React, React Router, Axios, dnd-kit, js-cookie, jest
  • Backend: Java, Spring Boot, Spring Security, Spring Data, MongoDB, TestContainers, JUnit
  • Real-time Communication: WebSockets

Installation and Setup

  • Clone the repository
  • Set up environment variables
  • Install frontend and backend Dependencies
  • Run the frontend and backend services with two options.
    • Start the containerized application in concert with docker compose up
    • Start the frontend and backend dev servers separately

Usage

Once the app is running head to the registration page and create an account to use the app.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors