Skip to content

Transform your favorite images into stunning text-based masterpieces

License

Notifications You must be signed in to change notification settings

AyushShahh/synascie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Synascie

This was my Harvard's CS50x 2022 final project submission. I have continued to work on and improved this project after that.

Synascie name is inspired from the word synapse which means

The points of contact between neurons where information is passed from one neuron to the next.

Synascie converts any image into ASCII character art. Basically what it means is that it generates an image made of ASCII characters (characters like !@#$%^&*_-+= etc) based on the character set you have chosen.

Getting started

Prerequisites

In order to use and work on this project, you should have atleast python 3.9 installed (3.10 or 3.11 recommended) on your pc to run the Flask app in your virtual environment locally.

Installation

Clone this repository

git clone https://github.com/AyushShahh/synascie.git

Change your working directory to synascie and run this command to install required modules

pip install -r requirements.txt

Run development server locally

flask --debug run --host=0.0.0.0

--debug flag is used to auto-detect changes in your code and auto-restart the development server. It also allows you to locate any possible error and as well the location of the error, by logging a traceback of the error.

--host=0.0.0.0 flag makes the server publicly available and tells your operating system to listen on all public IPs.

Your local server has started running. Navigate to http://127.0.0.1:5000

If you would like to view this local site from other device(s), navigate to http://(your laptop ipv4 address):5000 from your other device. for e.g. http://192.168.1.100:5000. Make sure your pc and the other device(s) are connected to the same network.

Tech Stack

  • Python
  • HTML
  • CSS
  • JavaScript
  • jQuery
  • Jinja

Libraries Used

  • PIL - For python image processing
  • Flask - For using flask features and jinja templating
  • pillow_heif - Adding support for heic and heif images
  • flask_sessions - For web browser sessions
  • html2canvas - To capture DOM snapshot using JavaScript
  • Exif.js - For reading EXIF metadata from image files

License

This project is licensed under the MIT License. View the LICENSE file for details.