A chat app with a little bit of everything.

Overview

Name TBD

Name TBD

TODO

Found a bug or want to request a feature? Feel free to create an issue! (template coming soon ™️ )

Installation

Setting up your own instance is easy (dockerfile coming soon ™️ )

Requirements

  • NodeJS LTS 16.16.0 (might work with others versions, not tested.)
  • Yarn package manager
  • MongoDB 5.0

steps

  • Create the file web/.env and set the VITE_API_URL environment variable

  • Create the file api/.env and set the following environment variables:

    • DB_URI - Your mongodb instance's connection string (Optional, defaults to localhost)

    • DB_NAME - The database name to use (Optional, defaults to a_chat)

    • PORT - The port on which the API will listen on (Optional, defaults to 5000)

    • TRUST_PROXY - Set it to a truthy string if the API is behind a proxy (Optional, defaults to false)

    • CORS_ALLOWED_DOMAINS - Set it to the address of the web client (Optional but should be set, otherwise the client wont be able to make requests) [Can have multiple values, separated by space]

    • SESSION_MAX_AGE - Idle session expiry timeout. (Optional, defaults to 1209600000 or 14 days.) [Should be in miliseconds]

    • LOG_LEVEL - Log level for pino logger. (Optional, defaults to info)

    • DISABLE_REQUEST_LOGGING - Disables all request logging. (Optional, defaults to false)

    • DISABLE_SIGNUP - Disables user registration. (Optional, defaults no false) [Set it to any truthy value.]

    • Socketio admin:

      • SOCKETIO_ADMIN_USERNAME - Socketio admin interface username (Required, if you want to use socketio admin interface)
      • SOCKETIO_ADMIN_PASSWORD_HASH - Bcrypt hash representation of a password for socketio admin interface (Required, if you want to use socketio admin interface)

      NOTE: Both values need to be set to enable socketio admin.

  • Run yarn install and yarn build

  • Create database indexes using the script located at api/scripts/initDb.mjs

  • Start everything with yarn start

Roadmap

See the current roadmap for the alpha release here: https://github.com/ItsArnob/a-chat/milestone/1

Comments
Owner
Arnob
A 15 year old learning full-stack web development.
Arnob
Senior Design Project. Water intake tracker. Software for the communication to bottle and app. Software for app and database

WaterMate Senior Design Project. Water intake tracker to provide everyone with an easy to use water tracking system that can be integrated with your f

null 3 Nov 10, 2021
Create flexible REST endpoints and controllers from Sequelize models in your Express app

Finale Create flexible REST endpoints and controllers from Sequelize models in your Express or Restify app. This project aims to be a Sequelize 4.x an

Tom Juszczyk 181 Oct 18, 2022
A Crypto App built to pracitse GraphQL Federation

Getting Started To start this project please first create a .env file in the root of your project with the following: REACT_APP_ASTRA_TOKEN={your_astr

Ania Kubow 34 Dec 28, 2022
If you are a Slack browser user, this userscript will allow you to auto-redirect without Slack asking if you want to open on the desktop app.

Auto-redirect for browser Slack users If you are a Slack browser user, this userscript will allow you to auto-redirect without Slack asking if you wan

Felipe Santos (he/him) 6 Aug 23, 2022
Ecommerce-backend-nestjs - Ecommerce app with Nestjs + Prisma ORM + GraphQL + SQLite

ECOMMERCE BACKEND NESTJS APP Nestjs + Prisma ORM + GraphQL + SQLite USER Create Account Login Product Create Product Get Products Get Product Search P

Rui Paulo Calei 5 Apr 6, 2022
The Wholesome App. A project that allows you to upload images directly to MongoDB Atlas into your collection, a faster cloud database.

The Wholesome App. A project that allows you to upload images directly to MongoDB Atlas into your collection, a faster cloud database. To upload your cute and wholesome images.

Gourav Singh Rawat 2 Jul 17, 2022
A Nest JS App that is proxied to deta.sh

Description Nest framework TypeScript starter repository. Installation $ yarn Running the app # development $ yarn start # watch mode $ yarn run star

Julian 7 Nov 18, 2022
Thin Backend is a Blazing Fast, Universal Web App Backend for Making Realtime Single Page Apps

Website | Documentation About Thin Thin Backend is a blazing fast, universal web app backend for making realtime single page apps. Instead of manually

digitally induced GmbH 1.1k Dec 25, 2022
Create Node.js app that is packed with best practices AND strive for simplicity

Generate a Node.js app that is packed with best practices AND simplicty in mind. Based on our repo Node.js best practices (77,000 stars) ❣️ Alpha stag

null 674 Dec 31, 2022
Responsive, interactive and more accessible HTML5 canvas elements. Scrawl-canvas is a JavaScript library designed to make using the HTML5 canvas element a bit easier, and a bit more fun!

Scrawl-canvas Library Version: 8.5.2 - 11 Mar 2021 Scrawl-canvas website: scrawl-v8.rikweb.org.uk. Do you want to contribute? I've been developing thi

Rik Roots 227 Dec 31, 2022
SPOILER ALERT! A happy little bit of javascript to hide spoilers on your site.

SPOILER ALERT! Don't spoil it! Hide copy and images with a bit of SVG blur. Taste on mouseover. Eat on click. Do you publish spoilers? Do you wish you

Joshua Hull 473 Sep 27, 2022
A Discord bot library to make the development of a bot a little bit easier.

Discord Bot Framework (DBF) A basic Discord bot framework to allow for easier creation of bots. With this library, you can easily parse and handle com

Yoo-Babobo 1 Dec 23, 2021
A thing that watches everything everything I do.

Stalker ?? You know that thing on my website that shows what I'm doing? Well, it used to be manually updated, but that got boring. Now I have a comple

Kognise 45 Dec 14, 2022
A group listening chat app that utilizes the spotify api to enable the users to queue, pause, change songs, as well as chat with each other

Next.js + Tailwind CSS Example This example shows how to use Tailwind CSS (v3.0) with Next.js. It follows the steps outlined in the official Tailwind

Zach McLean 1 Dec 19, 2021
SpaceChat - a realtime chat app that allows you to chat with your friends in pairs as well as in groups

A socket.io based real time chat app where you can perform one-to-one chats as well as group chats! Built using MERN stack, this project implements all core functionalities like User Authentication, Web Sockets, CRUD Operations, Routing and much more!

Ishant Chauhan 11 Aug 1, 2022
Mini Social Media App with a liitle bit of facebook components (Still Developing)

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

KingNelxV2 2 Apr 11, 2022
Chat Loop is a highly scalable, low-cost, and high performant chat application built on AWS and React leveraging GraphQL subscriptions for real-time communication.

Chat Loop Chat Loop is a highly scalable, low cost and high performant chat application built on AWS and React leveraging GraphQL subscriptions for re

Smile Gupta 24 Jun 20, 2022
A chat application created using React,js and Chat Engine

⭐️ Chat-App ⭐️ A Chat Application created using React.js and Chat Engine Live Site Getting Started with Create React App This project was bootstrapped

Supuni Eleesha Randeniya 1 Dec 15, 2022
💬 Real-time chat application prototype that can summarise the entire chat log

Chat summarizer ?? Disclaimer! This is a prototype and a fun project that I've been working on and it is not ready for production. It was done in a fe

null 5 Jan 22, 2022
Chotu Chat Room is a minimal, distraction-free chat application

Chotu Chat Room is a minimal, distraction-free chat application. We have some predefined channels that anyone can join. No registration/login required.

Chotu Projects 8 Sep 19, 2022