Flashback is an awesome, retro IRC based app built using Django

Overview

Flashback

Flashback is an awesome, retro IRC based app built using Django (and the Django Rest Framework) for the backend as well as React for the frontend! This project was made during the Summer Code Jam 2020.

How to use

Once you login or sign up to Flashback, you have access to the terminal! Here you run a few commands. You can connect to group chats, which allow you to contact chat with other Flashback users. You can also create your own group. We can use the create command to create a new group, and the join command to join it. Let's try it:

>create DoggoFanClub
Creating Group DoggoFanClub

>join DoggoFanClub
Joining Group DoggoFanClub

Join can also be used to access groups that have been developed by other members of the community. Once you are in a group, you can use send to send messages, read to read the newest messages, and exit to exit the group. However, whenever you send a message, Flashback will display the messages that came before the message that you had just sent. Here is an example of interactions within groups!

>join SomeGroup
Joining SomeGroup

Max: Hello, is anyone there?
>send Hey Max!
Bob: Hey Max!

>read
Max: Hey Bob

Installation Instructions

Installation is simple. I will assume that you have npm and Python already installed!:

Server Setup

First, clone the repository and cd to the directory. We'll cd into the Backend folder to setup the server, first.

git clone https://github.com/UnloadingGnat/flashBackIRC.git
cd flashBackIRC

First, create a virtual environment and activate it. Then, we need to install the required packages:

pip install -r requirements.txt

Finally, we need to install postgressql and create a Database called fbdb.

#Mac
brew doctor
brew update
brew install libpq
brew link --force libpq ail

#Linux
sudo apt-get update
sudo apt install postgresql postgresql-contrib

#Windows
Download it from here: https://www.postgresql.org/download/windows/

You can start Postgres by running psql(Linux:sudo -u postgres psql). Then you can run CREATE DATABASE fbdb;. Make sure the DB server is set to localhost and the port is set to 5443 You want to make sure that you have a user named postgres with the password as postgres as well. Now, all we need to do is migrate and run the server code!

#Change to the Backend/flashback directory
cd Backend/flashback

#Then make migrations
python3 manage.py makemigrations
python3 manage.py migrate

#Start the server (Warning: Make sure this server is running before site setup)
python3 manage.py runserver

Site Setup

While the Django server is running. Start a new terminal instance. We will start by assuming that you are in the flashBackIRC folder. We can run the following commands to get into the React project folder so we can install our project packages!

cd Frontend/flashback
npm install && npm start

Installing the packages is simple! Just type npm install! Finally, to run our site, type npm start.

Screenshots

IRC Client

IRC Login

Owner
Unloading Gnat
I am proficient in Python and C++. Recently I started learning Java and Javascript.
Unloading Gnat
šŸ”ƒ A simple implementation of STOMP with Django

Django Stomp A simple implementation of STOMP with Django. In theory it can work with any broker which supports STOMP with none or minor adjustments.

Juntos Somos Mais 32 Nov 08, 2022
Radically simplified static file serving for Python web apps

WhiteNoise Radically simplified static file serving for Python web apps With a couple of lines of config WhiteNoise allows your web app to serve its o

Dave Evans 2.1k Dec 15, 2022
Template de desarrollo Django

Template de desarrollo Django Python Django Docker Postgres Nginx CI/CD Descripción del proyecto : Proyecto template de directrices para la estandariz

Diego Esteban 1 Feb 25, 2022
Simple XML-RPC and JSON-RPC server for modern Django

django-modern-rpc Build an XML-RPC and/or JSON-RPC server as part of your Django project. Major Django and Python versions are supported Main features

Antoine Lorence 82 Dec 04, 2022
A simple djagno music website.

Mrock A simple djagno music website. I used this template and I translated it to eng. Also some changes commited. My Live Domo : https://mrock.pythona

Hesam N 1 Nov 30, 2021
Per object permissions for Django

django-guardian django-guardian is an implementation of per object permissions [1] on top of Django's authorization backend Documentation Online docum

3.3k Jan 04, 2023
A simple Django middleware for Duo V4 2-factor authentication.

django-duo-universal-auth A lightweight middleware application that adds a layer on top of any number of existing authentication backends, enabling 2F

Adam Angle 1 Jan 10, 2022
Logan is a toolkit for building standalone Django applications

Logan Logan is a toolkit for running standalone Django applications. It provides you with tools to create a CLI runner, manage settings, and the abili

David Cramer 206 Jan 03, 2023
Build reusable components in Django without writing a single line of Python.

Build reusable components in Django without writing a single line of Python. {% #quote %} {% quote_photo src="/project-hail-mary.jpg" %} {% #quot

Mitchel Cabuloy 277 Jan 02, 2023
A drop-in replacement for django's ImageField that provides a flexible, intuitive and easily-extensible interface for quickly creating new images from the one assigned to the field.

django-versatileimagefield A drop-in replacement for django's ImageField that provides a flexible, intuitive and easily-extensible interface for creat

Jonathan Ellenberger 490 Dec 13, 2022
Plug and play continuous integration with django and jenkins

django-jenkins Plug and play continuous integration with Django and Jenkins Installation From PyPI: $ pip install django-jenkins Or by downloading th

Mikhail Podgurskiy 941 Oct 22, 2022
Get inside your stronghold and make all your Django views default login_required

Stronghold Get inside your stronghold and make all your Django views default login_required Stronghold is a very small and easy to use django app that

Mike Grouchy 384 Nov 23, 2022
I managed to attach the Django Framework to my Telegram Bot and set a webhook

I managed to attach the Django Framework to my Telegram Bot and set a webhook. I've been developing it from 10th of November 2021 and I want to have a basic working prototype.

Valentyn Vovchak 2 Sep 08, 2022
RestApi With Django 3.2 And Django Rest Framework

RestApi-With-Django-3.2-And-Django-Rest-Framework Description This repository is a Software of Development with Python. Virtual Using pipenv, virtuale

Daniel Arturo Alejo Alvarez 6 Aug 02, 2022
Simple web site for sharing your short stories and beautiful pictures

Story Contest Simple web site for sharing your short stories and beautiful pictures.(Cloud computing first assignment) Clouds The table below shows cl

Alireza Akhoundi 5 Jan 04, 2023
Django-Audiofield is a simple app that allows Audio files upload, management and conversion to different audio format (mp3, wav & ogg), which also makes it easy to play audio files into your Django application.

Django-Audiofield Description: Django Audio Management Tools Maintainer: Areski Contributors: list of contributors Django-Audiofield is a simple app t

Areski Belaid 167 Nov 10, 2022
Django based webapp pulling in crypto news and price data via api

Deploy Django in Production FTA project implementing containerization of Django Web Framework into Docker to be placed into Azure Container Services a

0 Sep 21, 2022
Use heroicons in your Django and Jinja templates.

heroicons Use heroicons in your Django and Jinja templates. Requirements Python 3.6 to 3.9 supported. Django 2.2 to 3.2 supported. Are your tests slow

Adam Johnson 52 Dec 14, 2022
A multiprocessing distributed task queue for Django

A multiprocessing distributed task queue for Django Features Multiprocessing worker pool Asynchronous tasks Scheduled, cron and repeated tasks Signed

Ilan Steemers 1.7k Jan 03, 2023
Django model mixins and utilities.

django-model-utils Django model mixins and utilities. django-model-utils supports Django 2.2+. This app is available on PyPI. Getting Help Documentati

Jazzband 2.4k Jan 04, 2023