Hamming Messages utilizes error-correction codes to decode disrupted messages. Error-correcting was forever changed when Richard Hamming developed his algorithm in 1950 while working at Bell Labs. Error-correction was then futher advanced in 1960 by Irving S. Reed and Gustave Solomon. Hamming codes are capable of detecting up to two error bits, but are only able to correct one-bit errors. However, Reed-Solomon codes can detect and correct multiple errors in a given chunk. These are the codes used in Hamming messages for error correction.
The goal of Hamming Messages is to expose others to error correction and its vital place in today's technology, through a fun and approachable interface.
Error-correction is a core technology that is used in CDs, DVDs, HDDs, and SSDs.
Please note websockets are not fully functioning on live link.
Clone the repository
git clone git@github.com:starlightromero/hamming-messages.git
Change into the new directory
cd hamming-messages
Create a folder called env that will hold all installed packages
python3 -m venv env
Activate your virtual environment
source env/bin/activate
Install all packages listed in the requirements
pip3 install -r requirements.txt
Reactivate your virtual environment with the newly installed packages
source env/bin/activate
Export environment variables
export SQLALCHEMY_DATABASE_URI=sqlite:///database.db && export SECRET_KEY=hello
Run the app
python3 app.py
Navigate in your browser to localhost:5000
Please note that with this setup, password reset will not work.
User journeys are a tool product developers use to outline how users will find and interact with the app.
I am still in middle school but I am very interested in code and technology. I wanted to find a fun interactive place to meet with other people learning code. I went to Hamming Codes, signed up, and I was able to choose from an array of chat rooms. Once I found a chat room I liked I could add and start discussing different topics.
I work in design but wanted to get my toes wet into the world of software. I found Hamming Codes. After a simple sign up process, I was able to talk with developers who gave me places to start as well as learn what error-correcting codes are all about.
I am a business owner. I got lonely after my wife died. After signing up with Hamming Codes I now spend my time chatting with people and learning new technology. I can go in different chat rooms depending on who or what I want to talk about on a given day.
When embarking on a journey it is important to outline various stages of the journey along with what features each stage will have. The easiest way to start visualizing the end result is with simple wireframes.
The skateboard is the simplest version of your app idea. It includes the app's one core feature and not much else. The purpose of the skateboard is to get your project off the ground and moving quickly.
The bike is the next stage of development. It includes accent features that support your app and its main feature. The purpose of the bike is to bridge the gap between the skateboard and the car.
The car is the version of an app which most people see when they first imagine the app idea in their mind. The car has all the main features. It can also include features which aren't completely necessary but lend to the overall user experience.
Made with Figma. See more
Graphics by freepik