π https://alobuuls.github.io/tierlist-maker/
Note
Tierlist Maker JS is an interactive web application built with HTML, CSS, and Vanilla JavaScript.
The project allows users to create custom tier lists by uploading images, dragging and dropping them between ranking tiers, reorganizing items dynamically, and exporting the final result as an image directly from the browser.
Before running the project, make sure you have:
- π A modern web browser (Chrome, Firefox, Edge, Safari)
- π¦ Git (optional)
Check that Git is installed:
git --versiongit clone git@github.com:alobuuls/tierlist-maker.git
cd tierlist-makerImportant
No dependencies or package installation are required.
You can simply open:
index.html
or run the project using Live Server in Visual Studio Code.
Open the index.html file directly in your browser.
Note
The application is built using Vanilla JavaScript and browser APIs to provide a complete drag-and-drop experience without external frameworks.
Responsible for:
- Tier creation
- Item organization
- Dynamic ranking
- State updates
Handles:
- Image dragging
- Drop zones
- Item repositioning
- Visual feedback
Manages:
- Local file uploads
- Desktop drag-and-drop files
- FileReader integration
- Dynamic image generation
Controls:
- Tierlist capture
- PNG generation
- Client-side export
- Download functionality
- π Upload images from your device
- π₯οΈ Drag images directly from your desktop
- π§² Drag & drop between tier rows
- π Reorder items dynamically
- π Visual drag feedback
- πΎ Export tierlist as PNG
- π Reset and restore items
- β‘ Real-time DOM updates
- π Custom tier ranking system
- π Lightweight implementation without frameworks
| Technology | Purpose |
|---|---|
| HTML5 | Structure |
| CSS3 | Styling |
| JavaScript (ES6+) | Functionality |
| Drag & Drop API | Item Movement |
| FileReader API | Local File Handling |
| DOM API | DOM Manipulation |
| html2canvas | Image Export |
tierlist-maker/
βββ index.html
βββ main.js
βββ styles.css
βββ preview.png
βββ README.md
- Separation of responsibilities
- Event-driven architecture
- Dynamic DOM manipulation
- Browser API integration
- Client-side file processing
- Reusable functions
- State synchronization
- Clean code organization
- Responsive user interactions
- Framework-free implementation
Practice and strengthen advanced front-end development concepts through the creation of an interactive tier list application:
- Drag & Drop API
- DOM Manipulation
- Event Handling
- File Processing
- State Management
- Dynamic Rendering
- Browser APIs
- Client-side Export
- User Experience Design
- Vanilla JavaScript Architecture
This project is intended for educational and portfolio purposes.
Created by Alondra Francisco Onofre.
