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 tool to automatically fix Django deprecations.

A tool to help upgrade Django projects to newer version of the framework by automatically fixing deprecations. The problem When maintaining a Django s

Bruno Alla 155 Dec 14, 2022
A Django/Python web app that functions as a digital diary

My Django Diary Full-stack web application that functions as a digital diary using Django, Python, SQLite, HTML & CSS. Things I learned during this pr

1 Sep 30, 2022
User Authentication In Django/Ajax/Jquery

User Authentication In Django/Ajax/Jquery Demo: Authentication System Using Django/Ajax/Jquery Demo: Authentication System Using Django Overview The D

Suman Raj Khanal 10 Mar 26, 2022
A simple page with paypal payment and confiramtion in django

django-paypal a simple page with paypal payment and confiramtion in django Youtube Video : Paypal Smart Button : https://developer.paypal.com/demo/che

Mahmoud Ahmed 5 Feb 19, 2022
Media-Management with Grappelli

Django FileBrowser Media-Management with Grappelli. The FileBrowser is an extension to the Django administration interface in order to: browse directo

Patrick Kranzlmueller 913 Dec 28, 2022
Utilities to make function-based views cleaner, more efficient, and better tasting.

django-fbv Utilities to make Django function-based views cleaner, more efficient, and better tasting. 💥 📖 Complete documentation: https://django-fbv

Adam Hill 49 Dec 30, 2022
TinyApp - A Python (Django) Full Stack Application for shortening URLs

TinyApp A Python (Django) Full Stack Application for shortening URLs. How to sta

Li Deng 1 Jan 23, 2022
With Django Hijack, admins can log in and work on behalf of other users without having to know their credentials.

Django Hijack With Django Hijack, admins can log in and work on behalf of other users without having to know their credentials. Docs 3.x docs are avai

1.2k Jan 05, 2023
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
open source online judge based on Vue, Django and Docker

An onlinejudge system based on Python and Vue

Qingdao University(青岛大学) 5.2k Jan 09, 2023
Reusable, generic mixins for Django

django-braces Mixins for Django's class-based views. Documentation Read The Docs Installation Install from PyPI with pip: pip install django-braces Bu

Brack3t 1.9k Jan 05, 2023
Drf-stripe-subscription - An out-of-box Django REST framework solution for payment and subscription management using Stripe

Drf-stripe-subscription - An out-of-box Django REST framework solution for payment and subscription management using Stripe

Oscar Y Chen 68 Jan 07, 2023
Full-text multi-table search application for Django. Easy to install and use, with good performance.

django-watson django-watson is a fast multi-model full-text search plugin for Django. It is easy to install and use, and provides high quality search

Dave Hall 1.1k Dec 22, 2022
A reusable Django app that configures your project for deployment

django-simple-deploy This app gives you a management command that configures your project for an initial deployment. It targets Heroku at the moment,

Eric Matthes 205 Dec 26, 2022
Django + AWS Elastic Transcoder

Django Elastic Transcoder django-elastic-transcoder is an Django app, let you integrate AWS Elastic Transcoder in Django easily. What is provided in t

StreetVoice 66 Dec 14, 2022
Django GUID attaches a unique correlation ID/request ID to all your log outputs for every request.

Django GUID Now with ASGI support! Django GUID attaches a unique correlation ID/request ID to all your log outputs for every request. In other words,

snok 300 Dec 29, 2022
Python CSS/Javascript minifier

Squeezeit - Python CSS and Javascript minifier Copyright (C) 2011 Sam Rudge This program is free software: you can redistribute it and/or modify it un

Smudge 152 Apr 03, 2022
xsendfile etc wrapper

Django Sendfile This is a wrapper around web-server specific methods for sending files to web clients. This is useful when Django needs to check permi

John Montgomery 476 Dec 01, 2022
A package to handle images in django

Django Image Tools Django Image Tools is a small app that will allow you to manage your project's images without worrying much about image sizes, how

The Bonsai Studio 42 Jun 02, 2022
A small Django app to easily broadcast an announcement across a website.

django-site-broadcasts The site broadcast application allows users to define short messages and announcements that should be displayed across a site.

Ben Lopatin 12 Jan 21, 2020