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
Django URL Shortener is a Django app to to include URL Shortening feature in your Django Project

Django URL Shortener Django URL Shortener is a Django app to to include URL Shortening feature in your Django Project Install this package to your Dja

Rishav Sinha 4 Nov 18, 2021
PEP-484 type hints bindings for the Django web framework

mypy-django Type stubs to use the mypy static type-checker with your Django projects This project includes the PEP-484 compatible "type stubs" for Dja

Machinalis 223 Jun 17, 2022
Book search Django web project that uses requests python library and openlibrary API.

Book Search API Developer: Vladimir Vojtenko Book search Django web project that uses requests python library and openlibrary API. #requests #openlibr

1 Dec 08, 2021
Django Serverless Cron - Run cron jobs easily in a serverless environment

Django Serverless Cron - Run cron jobs easily in a serverless environment

Paul Onteri 41 Dec 16, 2022
Tweak the form field rendering in templates, not in python-level form definitions. CSS classes and HTML attributes can be altered.

django-widget-tweaks Tweak the form field rendering in templates, not in python-level form definitions. Altering CSS classes and HTML attributes is su

Jazzband 1.8k Jan 02, 2023
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
Strict separation of config from code.

Python Decouple: Strict separation of settings from code Decouple helps you to organize your settings so that you can change parameters without having

Henrique Bastos 2.3k Jan 04, 2023
Django API without Django REST framework.

Django API without DRF This is a API project made with Django, and without Django REST framework. This project was done with: Python 3.9.8 Django 3.2.

Regis Santos 3 Jan 19, 2022
Django query profiler - one profiler to rule them all. Shows queries, detects N+1 and gives recommendations on how to resolve them

Django Query Profiler This is a query profiler for Django applications, for helping developers answer the question "My Django code/page/API is slow, H

Django Query Profiler 116 Dec 15, 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
Template for Django Project Using Docker

You want a Django project who use Docker and Docker-compose for Development and for Production ? It's for you !

1 Dec 17, 2021
Django Course Project - TextCorrector

Django-TextUtils Django Course Project A tool for analyzing text data in Django backend. It is a project where you can do some of the things with you

1 Oct 29, 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
A visual indicator of what environment/system you're using in django

A visual indicator of what environment/system you're using in django

Mark Walker 4 Nov 26, 2022
Dockerizing Django with Postgres, Gunicorn, Nginx and Certbot. A fully Django starter project.

Dockerizing Django with Postgres, Gunicorn, Nginx and Certbot 🚀 Features A Django stater project with fully basic requirements for a production-ready

8 Jun 27, 2022
Simpliest django(uvicorn)+postgresql+nginx docker-compose (ready for production and dev)

simpliest django(uvicorn)+postgresql+nginx docker-compose (ready for production and dev) To run in production: docker-compose up -d Site available on

Artyom Lisovskii 1 Dec 16, 2021
Duckiter will Automatically dockerize your Django projects.

Duckiter Duckiter will Automatically dockerize your Django projects. Requirements : - python version : python version 3.6 or upper version - OS :

soroush safari 23 Sep 16, 2021
This is a simple Todo web application built Django (back-end) and React JS (front-end)

Django REST Todo app This is a simple Todo web application built with Django (back-end) and React JS (front-end). The project enables you to systemati

Maxim Mukhin 5 May 06, 2022
Location field and widget for Django. It supports Google Maps, OpenStreetMap and Mapbox

django-location-field Let users pick locations using a map widget and store its latitude and longitude. Stable version: django-location-field==2.1.0 D

Caio Ariede 481 Dec 29, 2022
pytest-django allows you to test your Django project/applications with the pytest testing tool.

pytest-django allows you to test your Django project/applications with the pytest testing tool.

pytest-dev 1.1k Dec 14, 2022