Card Animation Logo
MENU

Development Log

Congratulations! You found the most boring part of the site. Below is a detailed log of the development process, as well as ideas and upgrades that will hopefully be made in the future. Enjoy!


///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////

BANDCAMP DOWNLOAD CARD CUSTOMIZER

///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////

CODING & DESIGN by Greyforest Media | www.greyforest.media

SPONSORED & HOSTED by Auris Apothecary | www.aurisapothecary.org

///////////////////////////////////////////////////////////////////

RESOURCES:

JS Color: Jan Odvarko - http://www.jscolor.com
Font Awesome: Dave Gandy - http://www.fontawesome.io
Google Fonts: http://www.fonts.google.com
jQuery Library: http://www.jquery.com
jQuery Draggable: http://www.jqueryui.com/draggable

///////////////////////////////////////////////////////////////////

VERSIONS:

[1.2.0] 2019/01/01
-- launch

[1.1.0] 2018/05/06
-- greyforest framework update

[1.0.0] 2018/01/01
-- beta launch version

[0.1.0] 2017/07/10
-- preliminary launch version

[0.0.0] 2017/01/13
-- started developing

///////////////////////////////////////////////////////////////////

FEATURE SET:

1. Ability to upload codes directly copied from CSV file provided by Bandcamp
2. Drag & drop customization of placement, font, color, and size of Artist, Album, Code, and URL strings
3. Any custom number of cards per page with column & row options
4. Perfectly sized output for error-free, seamless printing
5. Ability to export codes as PDF file for printing on any printer/computer

///////////////////////////////////////////////////////////////////

BUGS:

- dragging rotated strings makes X & Y coordinates incorrect on next movement
-- not feature-breaking, but annoying

- rotated strings retain original dimensions of influence
-- causes strange behavior when close to edge of card
-- can be patched

- background image/color updating doesn't work after template import

- printing adds blank page at end in firefox

- printing in iOS safari ignores @page CSS attribute, throwing layout off

- color choice containers break layout on mobile

///////////////////////////////////////////////////////////////////

COMPLETED UPGRADES:

+ 20240407 - fixed directory permissions error for template generation
+ 20230825 - new paper size (5.5" x 8.5)
+ 20230526 - increased card rate limit to 300 from 100
+ 20230514 - homepage tweak + menu layout update + new SVG text logo
+ 20230514 - moved "test codes" button to top on customizer page + removed section
+ 20230514 - import file browser only shows .dcc & .DCC files by default
+ 20230514 - fixed color inputs not updating bg color upon template change bug
+ 20230514 - added A4 paper size (8.3" x 11") for European users
+ 20230514 - added custom font option for appending locally-installed fonts to dropdowns
+ 20230514 - added border width + color adjustments for between cards
+ 20230514 - fixed htaccess bug affecting log, import, and export functions
+ 20210424 - code cleanup / refactoring
+ 20190827 - fixed import form bug
+ 20190819 - fixed codes import bug
+ 20190217 - fixed import form bug
+ 20190217 - subtle modal prompts animation
+ 20190109 - added title attributes to explain inputs
+ 20180521 - data logging of functions and custom actions
+ 20180506 - mobile responsive layout for customizer
+ 20180506 - print prompt countdown + social share prompt after print
+ 20180506 - start over button reset prompt to clear styles but not codes
+ 20180506 - converted file infrastructure to greyforest templating framework
+ 20180505 - improved menu section layout + added responsive mobile navigation
+ 20180505 - donate page + prompt with paypal and crypto options
+ 20180505 - template import file extension pre-validation via jquery to prevent full upload before php can check
+ 20180505 - fixed import/export ajax call errors from htaccess
+ 20180420 - https secure certificate installed
+ 20180101 - launched beta version
+ 20170708 - instant digit-only validation of "rows" input field
+ 20170708 - show/hide toggling of import/export form fields
+ 20170626 - added terms and conditions page
+ 20170604 - real-time template changing for font-styles
+ 20170603 - import templates via ajax upload form that creates data-attribute-filled button
+ 20170603 - live template changing via data-attributes on clicked element (awesome)
+ 20170603 - only show customizer controls for inputs that have data
+ 20170524 - layout and front-end design completed
+ 20170524 - social media sharing buttons
+ 20170524 - successful template exporting of all inputs to xml file
+ 20170523 - created function to duplicate all inputs into a new form for exporting
+ 20170522 - boilerplate codes for preview and testing purposes before uploading of codes
+ 20170521 - donate prompt on print button click
+ 20170521 - blank page print prevention forces print command to come from button click, not browser
+ 20170521 - sanitized customizer placement inputs to only allow numeric entry
+ 20170520 - fixed print margin variance error between browsers
+ 20170119 - added sound effects capability
+ 20170118 - added info page
+ 20170117 - added cover artwork field
+ 20170117 - locked draggable elements to only highlighted
+ 20170117 - page guides + guides menu bar
+ 20170117 - rows & columns settings for non-image cards
+ 20170116 - card background options
+ 20170116 - limit code input textarea to only letters, numbers, and hypen symbol
+ 20170116 - drag and drop version of customizer fields
+ 20170115 - terms and conditions checkbox
+ 20170115 - code input quantity limit + remaining codes display
+ 20170115 - card grid system for lining up text (based on .5" increments)
+ 20170115 - non-image version (enter artist name + title + url + codes)
+ 20170114 - paper size choice
+ 20170114 - font styles (bold, italic, underline, strikethrough)
+ 20170114 - default card background
+ 20170114 - development log started
+ 20170113 - google font integration
+ 20170113 - codes conversion to array + parsing into foreach

///////////////////////////////////////////////////////////////////

FUTURE UPGRADES & IDEAS:

- loading screen while processing codes
- email form requirement for template export function
- validation token for import/export function
- template flushing system for immediate deletion after import/export to ensure absolute privacy
- built-in export to high-quality PDF function

- WEBSITE IDEAS
-- featured download cards section for best user submitted designs
-- preview images / how-to guide

- CUSTOMIZER UPGRADES
-- potential WYSIWYG editor for bonus field
-- insert line break button for artist & title customizer sections
-- add text-align + line-height + width controls to customizer fields
-- keyboard controls for highlighted/draggable strings
-- add "bonus" field for extra info
-- z-index adjustment for moving fields in front of or behind each other
-- centering of strings with a click
-- white dummy overlay images with set dimensions for different shapes (circles, hexagon, etc)
-- pre-made templates using good colors and fonts
-- "scribble" section with mouse/touch input for drawing images in real-time
-- library of free-use background textures
-- "design" 100 or so cards, then apply styles to full array amount upon submission (optimization)

- USER-UPLOADED IMAGES
-- upload file form
-- erase uploaded images after 24 hours
-- htaccess to prevent image hotlinking

- MONETIZATION TECHNIQUES
-- sponsorship --> banner + link + download code usage for download form page
-- paid subscription --> database of customers with timecode of subscription expiration
---- watermark for free version / none for paid version
---- require login & password for extra features (templates / pdf export / etc)

- INFRASTRUCTURE UPGRADES
-- ajax version (kinda unnecessary)
-- mobile version (single card editing -> export to PDF -> email to user) (v2.0)
-- use data-attributes to dynamically control string placement options in jquery code (v2.0)

- DEFAULT CODES FOR DOWNLOAD FORM PAGE
-- generate thousands of codes
-- place codes in array
-- randomly grab code from array and place on page for user to enter into input
-- if entered and submitted, destroy code from array through jquery and allow processing on bandcamp in new window
-- re-export csv file periodically to check for codes that were flushed from array but not downloaded

///////////////////////////////////////////////////////////////////