NewPlatano

React, TypeScript, Tailwind CSS, and Next.js | Beginner Project

Beto, April 7, 2022 · 1,793 views

Learn how to build an emoji search and filter app with Next.js, React, TypeScript, and Tailwind CSS. It is a strong beginner project for combining modern tools and building interactive UI with filters and modals.

You will see how to start a Next.js TypeScript project, install and configure Tailwind CSS, work with emoji data and category filters, and build modals that close when you click outside.

What's inside

  • Project introduction and emoji app features
  • Creating the Next.js project with TypeScript
  • Exploring basic Next.js structure
  • Tailwind CSS for styles and visual effects
  • Search and filter implementation for emojis
  • Modals to show emoji details
  • Closing modals on outside click
  • Downloadable resources and deployment

Project introduction and emoji app features

The app searches emojis by text and shows matching results. Category filters like food or flags narrow the list. If nothing matches, it shows a not-found message.

Clicking an emoji opens a modal with code, category, and group. The project is great for learning React with Next.js, Tailwind CSS, and TypeScript.

Creating the Next.js project with TypeScript

Start with the official Next.js command and the TypeScript flag:

You need Node.js 12 or higher. I show running the command, naming the app, waiting for dependencies, and opening the project in Visual Studio Code.

Exploring basic Next.js structure

We review the folder where each file is a route. is the home page. The folder is for endpoints, though this project does not focus on it.

wraps the application. We clear the starter content, render a simple , and confirm the app runs at .

Tailwind CSS for styles and visual effects

We install Tailwind following the official Next.js guide: dependencies and config files.

Tailwind styles the search input, emoji cards, and filters with shadows, backgrounds, and hover effects. Responsive, modern UI without traditional CSS files.

Search and filter implementation for emojis

We manage input state to filter emojis by search text and add category filters for food, flags, and more.

TypeScript types keep emoji data safe and maintainable.

Modals to show emoji details

Clicking an emoji opens a modal with code, category, and group. Clean design with shadows and a distinct background.

We build a modal component, pass the right props, and control open/close with React state.

Closing modals on outside click

We close the modal when the user clicks outside it, which matches expected UX in modern interfaces.

Detect outside clicks and update state to hide the modal. Useful for modals, dropdowns, and similar patterns.

Downloadable resources and deployment

Full project code is on Code with I with download and GitHub links. There is also a Vercel demo and YouTube tutorial.

Great practice for Next.js, TypeScript, Tailwind CSS, and deploying modern web apps.

Resources

CourseReact (web) course

YouTubeReact, TypeScript, Tailwind CSS, and Next.js | Beginner Project

Let's connect!

Had a win? Get featured on Code with Beto.Share your story