DEV Community

Josh Endemann
Josh Endemann

Posted on

Delving Back Into React: Building a Website for a Local Construction Company

After a brief hiatus from working with React, I decided to dive back into it. Originally, I planned to start with Next.js, as it's the modern framework everyone’s talking about. However, I realized that jumping straight into it might be overwhelming since I hadn’t worked with React in a while. Instead, I opted for a refresher by building a project in vanilla React—and what better way to do that than to solve a real-world problem?

The Project: A Website for Down to Earth Contractors

A local construction company was in need of a modern website to showcase their services, highlight past projects, and provide a way for potential clients to get in touch. This seemed like the perfect opportunity to brush up on my React skills while creating something meaningful.

Key Features of the Website

Responsive Design

The website is fully responsive, ensuring an optimal user experience on desktops, tablets, and mobile devices.

Dynamic Content

Each service—excavation, grading, demolition, and more—has its own dedicated page with descriptive content and imagery.

Contact Form with EmailJS

This was my first time integrating EmailJS into a project. The contact form allows users to submit inquiries, which are sent directly to the company’s email. Setting this up was a learning curve, but it was satisfying to see it work seamlessly.

A React Refresher

Working on this website was a great way to revisit fundamental React concepts. I extensively used the useState hook for managing form data and displaying dynamic status messages. Structuring the components, managing props, and styling with CSS were all valuable exercises that reminded me why I enjoy working with React.

The Process of Building

Planning and Structure

I started by outlining the site’s structure: a homepage, a services section with individual pages, a gallery, and a contact page. Breaking the project into smaller components helped me stay organized and focus on one feature at a time.

Challenges and Solutions

EmailJS Integration

Setting up EmailJS was new territory for me. Understanding how to configure the service with my project required some trial and error, but the result was worth the effort. It’s exciting to see how easy it is to integrate third-party tools into a React application.

Styling the Navbar

Ensuring the navbar was responsive and intuitive across devices took some tweaking. I learned more about CSS and how to use conditional class names effectively in React.

Enjoying the Journey

The process of building this website reminded me how much I love learning by doing. There’s something addictive about solving problems, seeing the results of your work, and knowing that you’re creating something valuable.

Looking Ahead

This project has rekindled my passion for React. Moving forward, I’m excited to:

  • Rebuild My Portfolio Website

    My current portfolio is outdated, and I’m eager to create something that better reflects my skills and projects.

  • Learn More React Fundamentals

    While this project was a great refresher, there’s always more to learn. I’m planning to dive deeper into state management, performance optimization, and testing.

  • Experiment with Next.js

    Once I’m more comfortable with React again, I’ll tackle Next.js to explore server-side rendering and other advanced features.

Conclusion

Building the Down to Earth Contractors website has been a rewarding experience. It’s a reminder that practical projects are the best way to learn and grow as a developer. If you’d like to check out the code for this project, feel free to visit the repository:

Top comments (0)