Design custom QR codes with this web app!

Overview

My-QR.Art

This web app lets users design their own QR codes to any domain. It can be acessed on my-qr.art.

You can find some more background info about this website on my blog post.

Installing

You'll need python3 and pip. Then install the requirements with:

python3 -m pip install -r requirements.txt

After that you should simply be able to run it with:

python3 manage.py runserver

License

This project is licensed under the GNU Aferro General Public License version 3 or (at your option) any later version. See the COPYING.md file in this repository for more info.

Comments
  • Added checkbox for keeping the aspect ratio when resizing an uploaded image

    Added checkbox for keeping the aspect ratio when resizing an uploaded image

    Added checkbox for keeping the aspect ratio when resizing an uploaded image

    Whenever the image popup handles changes, it checks if the checkbox for keeping the aspect ratio has been checked. If it has been checked, it checks if there has been a change en the width or height, and then calculates what the other attribute should be to keep the aspect ratio,

    Also changed the width of the upload-popup so that it doesn't wrap the canvas because of the width of the label.

    opened by quacklemtduck 2
  • Bump django from 3.1.4 to 3.1.8

    Bump django from 3.1.4 to 3.1.8

    Bumps django from 3.1.4 to 3.1.8.

    Commits
    • c4928c9 [3.1.x] Bumped version for 3.1.8 release.
    • cca0d98 [3.1.x] Fixed CVE-2021-28658 -- Fixed potential directory-traversal via uploa...
    • 6eb01cb [3.1.x] Fixed #32576 -- Corrected dumpdata docs for passing model names to th...
    • 11d241d [3.1.x] Refs #25735 -- Added tags/exclude_tags arguments to DiscoverRunner docs.
    • 4a10c31 [3.1.x] Added parallel argument to DiscoverRunner docs.
    • c528c71 [3.1.x] Corrected DiscoverRunner.build_suite() signature.
    • 95ee8fe [3.1.x] Fixed #32560 -- Fixed test runner with --pdb and --buffer on fail/error.
    • b58b214 [3.1.x] Fixed typo in docs/topics/testing/advanced.txt.
    • 0415ac5 [3.1.x] Fixed #32536 -- Added links to BaseDetailView/BaseListView.get() meth...
    • 7c662b7 [3.1.x] Fixed typo in docs/ref/checks.txt.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Added checkbox for keeping the aspect ratio when resizing an uploaded image

    Added checkbox for keeping the aspect ratio when resizing an uploaded image

    Added checkbox for keeping the aspect ratio when resizing an uploaded image

    Whenever the image popup handles changes, it checks if the checkbox for keeping the aspect ratio has been checked. If it has been checked, it checks if there has been a change en the width or height, and then calculates what the other attribute should be to keep the aspect ratio,

    Also changed the width of the upload-popup so that it doesn't wrap the canvas because of the width of the label.

    opened by quacklemtduck 0
  • Project dependencies may have API risk issues

    Project dependencies may have API risk issues

    Hi, In my-qr.art, inappropriate dependency versioning constraints can cause risks.

    Below are the dependencies and version constraints that the project is using

    fontawesome-free==5.15.1
    django==3.1.8
    pypng==0.0.20
    

    The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict. The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.

    After further analysis, in this project, The version constraint of dependency django can be changed to >=3.0a1,<=4.1a1.

    The above modification suggestions can reduce the dependency conflicts as much as possible, and introduce the latest version as much as possible without calling Error in the projects.

    The invocation of the current project includes all the following methods.

    The calling methods from the django
    django.core.management.execute_from_command_line
    django.shortcuts.render
    django.forms.CharField
    django.setup
    django.urls.reverse
    django.urls.path
    django.urls.set_script_prefix
    django.core.asgi.get_asgi_application
    django.utils.encoding.repercent_broken_unicode
    django.http.JsonResponse
    django.core.validators.URLValidator
    django.urls.re_path
    django.urls.include
    django.http.parse_cookie
    django.forms.FileField
    django.http.QueryDict
    
    The calling methods from the all methods
    django.shortcuts.render
    webbrowser.open_new_tab
    django.db.models.AutoField
    get_bytes_from_wsgi.decode
    self.make_masks
    models.RedirectItem.objects.filter
    django.utils.regex_helper._lazy_re_compile
    self.encode_numeric
    io.BytesIO.readline
    self.stream.read
    qr_app.qrmap.get_qr_map.to_json_rep
    tuple
    self.data.decode
    qr_app.qrmap.create_qr_from_map
    x.to_char
    tempfile._get_candidate_names
    django.urls.path
    QrMap.read
    png.Writer.write
    to_float
    QrMap
    png.Writer
    self._read_limited
    get_ri_from_secret.first
    bytearray
    write
    int
    redirect.models.RedirectItem.objects.create
    ident.decode
    writeline
    get_path
    qr_app.qrmap.QrMap.from_array
    qr.data.decode
    self.buffer.write
    self.delimit_words
    get_path.append
    virtual_file.getvalue.base64.b64encode.decode
    math.ceil
    self.get_data_length
    tables.modes.keys
    write_bytes
    get_ri_from_secret.count
    ImportError
    json.loads
    self.load_middleware
    interleave_path
    data_block_sizes.extend
    request.POST.upper
    django.core.signals.request_started.send
    repr
    self.terminate_bits
    self.scores.append
    urllib.parse.unquote
    writemeth
    qr_app.pyqrcode.builder._svg
    filter
    qr_app.qrmap.get_qr_map
    ModuleType.to_color
    redirect.models.RedirectItem.objects.filter
    secrets.token_hex
    qr_app.pyqrcode.builder._get_png_size
    tmp_row.extend
    self.environ.get
    pathlib.Path
    rgb_to_floats
    self.data.encode
    create_qr_from_map
    django.core.asgi.get_asgi_application
    to_from_identifier
    self.encode
    len
    environ.upper
    qr_app.pyqrcode.create.get
    self._set_content_type_params
    self.add_position_pattern
    self.encode_kanji
    self.add_type_pattern
    django.db.migrations.AddField
    self._load_post_and_files
    __file__.Path.resolve
    django.core.management.execute_from_command_line
    self.png
    self.add_detection_pattern
    django.urls.set_script_prefix
    django.shortcuts.HttpResponse
    qr_app.pyqrcode.builder._text
    isinstance
    bitstring_to_bin
    palette.append
    line
    io.StringIO.getvalue
    scale_code
    get_path_info
    self.data.decode.encode
    len.append
    valid_characters.encode.encode
    row.append
    write_meth
    super.save
    my_qr_art.custom_wsgi.WSGIHandler
    qr_app.pyqrcode.create.png
    django.urls.reverse
    django.db.models.DateTimeField
    join
    self.add_data
    QRCode
    os.unlink
    os.environ.setdefault
    mode.lower.lower
    mp_co.pop
    main
    environ
    tables.ascii_codes.keys
    ord
    qr_app.pyqrcode.builder._terminal
    min
    super
    destination.write
    add_qr_redirect
    qr_app.pyqrcode.builder._eps
    io.BytesIO.read
    next
    s.bitstring_to_bytes.decode
    QrMap.set
    f.close
    django.core.validators.URLValidator
    models.RedirectItem.objects.filter.first
    django.urls.re_path
    django.shortcuts.redirect
    get_ri_from_secret
    list
    start_response
    itertools.zip_longest
    qr_app.pyqrcode.builder.QRCodeBuilder
    str
    get_temp_name
    bytes
    django.db.models.CharField
    get_raw_qr_data
    QrMap.read_file
    self.add_words
    f.read
    two_bytes
    get_bytes_from_wsgi
    django.urls.include
    django.setup
    django.forms.CharField
    hasattr
    tables.error_level.keys
    errline
    HttpResponseNotFound
    _hex_to_rgb
    qr_app.tables.ascii_codes.items
    django.utils.regex_helper._lazy_re_compile.sub
    urllib.parse.urljoin
    self.make_error_block
    time.sleep
    django.db.models.IntegerField
    itertools.izip_longest
    xml.sax.saxutils.quoteattr
    django.http.parse_cookie
    pattern
    tempfile.NamedTemporaryFile
    error_blocks.append
    self.add_version_pattern
    iter.append
    self.get
    ascii.append
    getattr
    self.grouper
    LimitedStream
    django.utils.encoding.repercent_broken_unicode
    get_bytes_from_wsgi.replace
    content.str.encode
    models.to_from_identifier
    django.contrib.admin.site.register
    virtual_file.getvalue
    self.encode_bytes
    property
    bytearray.append
    self.make_code
    content.decode
    urllib.request.pathname2url
    request.get_full_path
    max
    chr
    copy.deepcopy
    io.StringIO
    get_wsgi_application
    get_bytes_from_wsgi.rstrip
    datetime.datetime.now
    redirect.models.RedirectItem.objects.create.save
    get_str_from_wsgi
    s.lower
    environ.items
    environ.get
    qr.data.index
    tempfile.NamedTemporaryFile.close
    ValueError
    qr_app.pyqrcode.builder._png
    length.format.format
    bitstring_to_alphanumeric
    response.cookies.values
    qr_app.pyqrcode.create.set
    self._detect_content_type
    abs
    unicode_str.encode
    image.png.from_array.save
    encoding.content.decode.encode
    rgba.append
    mp_co.extend
    design.get_version
    find_table_char
    django.http.JsonResponse
    get_bytes_from_wsgi.encode
    iter.extend
    self.__repr__
    draw_border
    iter
    range
    f.png.Reader.read
    self.request_class
    qr_app.pyqrcode.builder._xbm
    functools.partial
    image.append
    self.encode_alphanumeric
    sum
    next_byte
    matches.first.save
    qr_app.pyqrcode.create.save
    interleave_path.append
    get_qr_map
    self.binary_string
    format
    self.choose_best_mask
    self.data.upper
    path_info.repercent_broken_unicode.decode
    _get_writable
    content.str.isdigit
    super.__init__
    time.strftime
    png_pallete_color
    base64.b64encode
    io.BytesIO
    bitstring_to_bytes
    itertools.cycle
    self.buffer.getvalue
    format.format
    self.get_response
    c.output
    models.RedirectItem.objects.filter.count
    add_square
    map
    add_rect
    get_qr_map.get
    _get_png_size
    open
    self._pick_best_fit
    all
    png.from_array
    ModuleType.to_char
    png.Reader
    f.chunks
    qr_app.pyqrcode.create
    redirect.models.RedirectItem.objects.filter.count
    django.db.migrations.CreateModel
    get_script_name
    design.get_with_mask
    content.encode
    enumerate
    textwrap.wrap
    django.forms.FileField
    django.http.QueryDict
    io.StringIO.write
    

    @developer Could please help me check this issue? May I pull a request to fix it? Thank you very much.

    opened by PyDeps 0
  • allow translate out of bounds

    allow translate out of bounds

    As current:

    Your uploaded image can be placed starting outside the top of the QR code (i.e. cropping) only if you manually type a negative number into the text box.

    With this PR:

    You can now use the up/down clicker to input these values.

    opened by fulldecent 0
  • Google lens not detecting QR Code

    Google lens not detecting QR Code

    Thanks a lot for creating such an amazing super useful project. Just one issue, that after creating my first QR Code with the help of this program, I am able to notice that my google lens is not able to detect it as a QR Code. Here is the QR Code I generated https://my-qr.art/your-qr/8e05b1e4ad20de5c5748 Google lens only detects the P of QR Code and searches for n when I click on the QR Code, it does not takes me to the required link as I expect.

    opened by Sam-Varghese 0
  • QR code output doesn't match the template gray areas

    QR code output doesn't match the template gray areas

    Hi, this is a super cool project! Thanks for making it open source and explaining how it works. I've been playing with it and think this might be a bug?

    Sometimes the output has extra pixels that aren't in the template gray areas. For example, with this design:

    Output result is this QR code: https://my-qr.art/your-qr/fd95540318dd7e960709

    The output has some extra pixels, here I circled them in red:

    Is this expected? Where do these extra pixels come from, and should they be part of the gray template areas?

    opened by keyeh 2
  • QR redirect error

    QR redirect error

    Hi! Thanks for this awesome work!!

    So, I created a QR-Code (don't judge, I'm childish I know) but when my qr reader read it, it's as text but there is an option to open on the web, that what I do but it then show me

    Redirect url not found:
    n+94sgardyvrdyvsg27r*du
    

    I then look at the URL, and oh.. because of illegal character (space, etc..) my qr reader app cut the link.... So it didn't redirected me

    PLEASE, remove illegal character !!!!!!!! (Since the url are already that long, replace with "%20" etc.. we are not at some characters more)

    opened by Poloin34 2
Owner
Marien Raat
Marien Raat
A GUI-based (PyQt5) tool used to design 2D linkage mechanism.

Pyslvs-UI A GUI-based (PyQt5) tool used to design 2D linkage mechanism. Planar Linkages Simulation Python-Solvespace: Kernel from Solvespace with Cyth

Yuan Chang 141 Dec 13, 2022
Paper backup of files using QR codes

Generate paper backups for Linux. Currently command-linux Linux only. Takes any file, and outputs a "paper backup": a printable black-and-white pdf fu

Zachary Vance 27 Dec 28, 2022
This will help to read QR codes using Raspberry Pi and Pi Camera

Raspberry-Pi-Generate-and-Read-QR-code This will help to read QR codes using Raspberry Pi and Pi Camera Install the required libraries first in your T

Raspberry_Pi Pakistan 2 Nov 6, 2021
View images in the terminal using ansi escape codes and python

terminal-photo-viewer view images in the terminal using ansi escape codes and python !! Only tested on Ubuntu 20.04.3 LTS with python version 3.8.10 D

null 1 Nov 30, 2021
DP2 graph edit codes.

必要なソフト・パッケージ Python3 Numpy JSON Matplotlib 動作確認環境 MacBook Air M1 Python 3.8.2 (arm64) Numpy 1.22.0 Matplotlib 3.5.1 JSON 2.0.9 使い方 draw_time_histgram(

null 1 Feb 19, 2022
QR code python application which can read(decode) and generate(encode) QR codes.

QR Code Application This is a basic QR Code application. Using this application you can generate QR code for you text/links. Using this application yo

Atharva Parkhe 1 Aug 9, 2022
Tool to create a Phunk image with a custom background

Create Phunk image Tool to create a Phunk image with a custom background Installation Clone the repo git clone https://github.com/albanow/etherscan_sa

Albano Pena Torres 6 Mar 31, 2022
Plots is a graph plotting app for GNOME.

Plots is a graph plotting app for GNOME. Plots makes it easy to visualise mathematical formulae. In addition to basic arithmetic operations, it supports trigonometric, hyperbolic, exponential and logarithmic functions, as well as arbitrary sums and products.Plots is designed to integrate well with the GNOME desktop and takes advantage of modern hardware using OpenGL, and currently supports OpenGL 3.3+.

Alex Huntley 138 Dec 14, 2022
python app to turn a photograph into a cartoon

Draw This. Draw This is a polaroid camera that draws cartoons. You point, and shoot - and out pops a cartoon; the camera's best interpretation of what

Dan Macnish 2k Dec 19, 2022
Glyphtracer is an app for converting images of letters to a font

Glyphtracer takes an image that contains pictures of several letters. It recognizes all them and lets the user tag each letter to a Unicode code point. It then converts the images to vector form and writes them to a FontForge's data format. The font can then be finalized with FontForge.

Jussi Pakkanen 38 Dec 24, 2022
This is an app that allows users to upload photos and display and store the photos in a file until the user deletes them.

Qt Photo App This is an app that allows users to upload photos and display and store the photos in a file until the user deletes them. Setup python3 -

Kathy Yang 5 Jan 22, 2022
Create a QR-code Generator app using only Python.

QR-code_Generator Create a QR-code Generator app using only Python. This apps generated a QR code for a single link. Libraryes used in this app --> py

Soham P Phasalkar 1 Oct 17, 2021
This app finds duplicate to near duplicate images by generating a hash value for each image stored with a specialized data structure called VP-Tree which makes searching an image on a dataset of 100Ks almost instantanious

Offline Reverse Image Search Overview This app finds duplicate to near duplicate images by generating a hash value for each image stored with a specia

null 53 Nov 15, 2022
Simple AI app that is guessing color of apple in picture

Apple Color Determinant Application that is guessing color of apple from image Install Pillow, sklearn and numpy, using command for your package manag

Gleb Nikitin 1 Oct 25, 2021
Forza painter app with python

forza-painter Discord: A-Dawg#0001 (AE) Supports: Forza Horizon 5 Offically (OTHER v1.405.2.0, MS STORE v3.414.967.0, STEAM v1.414.967.0) Unofficially

null 320 Dec 31, 2022
Image Compression GUI APP Python: PyQt5

Image Compression GUI APP Image Compression GUI APP Python: PyQt5 Use : f5 or debug or simply run it on your ids(vscode , pycham, anaconda etc.) socia

Sourabh Dhalia 1 May 21, 2022
Qrgenerator - A qr generator app using python3

qrgenerator by Mal4D Hi welcome into qr code generator using python by Mal4d Lin

Mal4D 1 Jan 9, 2022
OctoPrint is the snappy web interface for your 3D printer!

OctoPrint OctoPrint provides a snappy web interface for controlling consumer 3D printers. It is Free Software and released under the GNU Affero Genera

OctoPrint 7.1k Jan 3, 2023