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
Faker is a Python package that generates fake data for you.

Faker is a Python package that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in yo

Daniele Faraglia 15.2k Jan 01, 2023
A Django app that allows visitors to interact with your site as a guest user without requiring registration.

django-guest-user A Django app that allows visitors to interact with your site as a guest user without requiring registration. Largely inspired by dja

Julian Wachholz 21 Dec 17, 2022
A Django web application that shortens long URLs. This is a demo project to show off my tech abilities.

Django URL Shortener This project is just a complete and production-ready URL shortener web application to show off my tech and coding abilities. Impo

Seyyed Ali Ayati 5 Jan 26, 2022
Highlight the keywords of a page if a visitor is coming from a search engine.

Django-SEKH Django Search Engine Keywords Highlighter, is a middleware for Django providing the capacities to highlight the user's search keywords if

Julien Fache 24 Oct 08, 2021
MAC address Model Field & Form Field for Django apps

django-macaddress MAC Address model and form fields for Django We use netaddr to parse and validate the MAC address. The tests aren't complete yet. Pa

49 Sep 04, 2022
Silk is a live profiling and inspection tool for the Django framework.

Silk is a live profiling and inspection tool for the Django framework. Silk intercepts and stores HTTP requests and database queries before presenting them in a user interface for further inspection:

Jazzband 3.7k Jan 02, 2023
Developer-friendly asynchrony for Django

Django Channels Channels augments Django to bring WebSocket, long-poll HTTP, task offloading and other async support to your code, using familiar Djan

Django 5.5k Dec 29, 2022
A starter template for building a backend with Django and django-rest-framework using docker with PostgreSQL as the primary DB.

Django-Rest-Template! This is a basic starter template for a backend project with Django as the server and PostgreSQL as the database. About the templ

Akshat Sharma 11 Dec 06, 2022
A fresh approach to autocomplete implementations, specially for Django.

A fresh approach to autocomplete implementations, specially for Django. Status: v3 stable, 2.x.x stable, 1.x.x deprecated. Please DO regularely ping us with your link at #yourlabs IRC channel

YourLabs 1.6k Dec 22, 2022
Django-gmailapi-json-backend - Email backend for Django which sends email via the Gmail API through a JSON credential

django-gmailapi-json-backend Email backend for Django which sends email via the

Innove 1 Sep 09, 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
Probably the best abstract model / admin for your tree based stuff.

django-treenode Probably the best abstract model / admin for your tree based stuff. Features Fast - get ancestors, children, descendants, parent, root

Fabio Caccamo 360 Jan 05, 2023
🏭 An easy-to-use implementation of Creation Methods for Django, backed by Faker.

Django-fakery An easy-to-use implementation of Creation Methods (aka Object Factory) for Django, backed by Faker. django_fakery will try to guess the

Flavio Curella 93 Oct 12, 2022
A set of functions related with Django

django-extra-tools Table of contents Installation Quick start Template filters parse_datetime parse_date parse_time parse_duration Aggregation First L

Tomasz Jakub Rup 3 Mar 04, 2020
Packs a bunch of smaller CSS files together from 1 folder.

Packs a bunch of smaller CSS files together from 1 folder.

1 Dec 09, 2021
Bootstrap 3 integration with Django.

django-bootstrap3 Bootstrap 3 integration for Django. Goal The goal of this project is to seamlessly blend Django and Bootstrap 3. Want to use Bootstr

Zostera B.V. 2.3k Jan 03, 2023
django-reversion is an extension to the Django web framework that provides version control for model instances.

django-reversion django-reversion is an extension to the Django web framework that provides version control for model instances. Requirements Python 3

Dave Hall 2.8k Jan 02, 2023
Projeto Crud Django and Mongo

Projeto-Crud_Django_and_Mongo Configuração para rodar o projeto Download Project

Samuel Fernandes Oliveira 2 Jan 24, 2022
Show how the redis works with Python (Django).

Redis Leaderboard Python (Django) Show how the redis works with Python (Django). Try it out deploying on Heroku (See notes: How to run on Google Cloud

Tom Xu 4 Nov 16, 2021
A Django GraphQL (Graphene) base template

backend A Django GraphQL (Graphene) base template Make sure your IDE/Editor has Black and EditorConfig plugins installed; and configure it lint file a

Reckonsys 4 May 25, 2022