Welcome to the Upload Challenge! This challenge is designed to test and enhance your skills in handling file uploads using HTML, CSS, and JavaScript.
The challenge involves creating a file upload interface where users can drag and drop files or select files using a file input. Upon selecting or dropping a file, the interface should display the filename and simulate an upload process when the user clicks an "Upload" button. The interface should provide visual feedback such as syncing and completion indicators.
The purpose of this challenge is to practice and demonstrate proficiency in:
- Implementing drag and drop functionality in web applications.
- Handling file selection and display of file information dynamically.
- Simulating an upload process with visual indicators using CSS animations and JavaScript.
- Drag and drop file upload.
- File selection using a file input.
- Displaying the selected file name.
- Simulated upload process with syncing and completion animations.
To participate in this challenge, you should have a basic understanding of:
- HTML5 for markup.
- CSS3 for styling, including animations.
- JavaScript for DOM manipulation and event handling.
The challenge structure involves:
- HTML: Structure the file upload interface with necessary elements.
- CSS: Style the interface to provide a visually appealing and functional design.
- JavaScript: Implement the logic for handling file uploads, animations, and interactions.
There's no specific installation required for this challenge as it runs directly in the browser. Simply clone or download the repository from the GitHub link provided and open the index.html
file in your preferred web browser.
You can view a live demo of the challenge on CodePen.
Screenshot
Contributions to improve the code or add new features are welcome! Follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name
). - Make your changes.
- Test your changes thoroughly.
- Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Create a new Pull Request.
Please ensure your code follows the existing coding style and practices.
Credits for the design inspiration go to 100 Days CSS Challenge - Day 15.
This challenge was created by Yashi Singh.