Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ slacky Public

A simplified "Slack" clone built with Node.js, TypeScript, and GraphQL. This project is an opportunity to learn and practice building real-time communication applications with these technologies.

Notifications You must be signed in to change notification settings

freber0/slacky

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💬 Slacky, a Slack Clone

Overview

This project is a simplified "Slack" clone built with Node.js, TypeScript, and GraphQL. This project is an opportunity to learn and practice building real-time communication applications with these technologies.

Features

  • Real-time Messaging: Users can send and receive messages in real-time.
  • Channel Management: Create and join channels for different topics or teams.
  • GraphQL API: Efficient data fetching and real-time updates with GraphQL subscriptions.
  • TypeScript: Strongly typed codebase for improved developer experience and maintainability.
  • (maybe) User Authentication: Basic user authentication with session management.

Technologies Used

  • Node.js: Backend runtime environment.
  • Express: Web framework for building the server.
  • TypeScript: Type-safe development.
  • GraphQL: API for querying and mutating data.
  • WebSocket: Real-time communication between client and server.
  • React: Frontend library for building user interfaces.
  • SQLite: Lightweight relational database for storing messages and user data.

Getting Started

Prerequisites

Installation

  1. Install the dependencies:

    npm install
  2. Set up environment variables:

    Create a .env file in the root directory and add the following:

    PORT=5050
    DATABASE_URL=./dev.db
  3. Start the development server:

    npm run dev
  4. Open your browser and navigate to http://localhost:5050.

Running the Client

The frontend is a simple React app that connects to the GraphQL API.

  1. Install the dependencies:

    npm install
  2. Start the development server:

    npm start
  3. Open your browser and navigate to http://localhost:3000.

Project Structure

├── client          # React frontend
│   ├── src
│   ├── public
│   └── package.json
├── src             # Node.js backend
│   ├── resolvers   # GraphQL resolvers
│   ├── schema      # GraphQL schema
│   ├── models      # Database models
│   ├── server.ts   # Server entry point
│   └── utils       # Utility functions
├── .env            # Environment variables
├── package.json
└── README.md

About

A simplified "Slack" clone built with Node.js, TypeScript, and GraphQL. This project is an opportunity to learn and practice building real-time communication applications with these technologies.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published