- Objective
- Technologies Used
- Project Setup
- Tasks Breakdown
- Challenges Faced
- How to Run the Project
- Live Demo
The goal of this project is to evaluate my front-end development skills through a series of tasks. These tasks include creating a responsive web page using HTML, CSS, and Vanilla JavaScript, implementing the same design using React, fixing bugs in an e-commerce product filter, and showcasing clean Git practices.
- HTML5
- CSS3 (Flexbox, Grid)
- Vanilla JavaScript
- React.js
- Tailwind CSS
- Git & GitHub
- Netlify (for live demo)
To run the project locally:
- Clone this repository:
git clone https://github.com/AJAmran/std_task.git
- Navigate into the project directory:
cd steadfast-task - For the React part, install the dependencies:
npm install
- Run the React app:
npm start
- Description: Developed a mobile-first, responsive web page using only HTML5, CSS3, and Vanilla JavaScript.
- Features:
- Responsive navigation bar
- Hero section with a background image and text overlay
- Grid layout for cards that rearranges on different screen sizes using media queries
- Simple modal interaction with Vanilla JavaScript
- Technologies Used: HTML5, CSS3 (Flexbox, Grid), Vanilla JavaScript
- Description: Recreated the same responsive design using React.js and divided it into reusable components.
- Components:
NavBarHeroCardGrid(Card layout that adjusts responsively)
- State Management: Managed interactive elements like toggling a modal using React's
useState. - Bonus: Tailwind CSS was used for styling. Added smooth scrolling and CSS animations for transitions.
- Bug: Product list in the e-commerce filter feature wasn’t updating based on applied filters.
- Solution: Fixed the JavaScript logic to ensure dynamic updates as per the selected filters.
- Bonus: Implemented the filter functionality using React Hooks (
useState,useEffect).
- GitHub: All tasks were committed with clear and concise messages.
- Branching:
feature/modal: Implemented the modal for Task 1.feature/filter: Fixed the filtering bug and added the React implementation.
- Ensuring proper responsiveness across multiple screen sizes was challenging but handled using CSS Grid and Flexbox.
- Debugging the e-commerce filter logic required a careful understanding of state management in both Vanilla JS and React.
- Clone the repo and navigate into the project folder.
- For the Vanilla JavaScript version, open the
index.htmlfile in your browser. - For the React version, follow the instructions in the Project Setup section above.
Check out the live version of the project Vanilla HTML, CSS, JS : Site. React Version with Filter funtionlaity Site.