Goal: Build a full-stack web app where users can browse, filter, and favorite AI tools! You will work with Node.js (Express) and React, focus on logic and edge cases, and show off your creativity with bonus features.
:technologist: Your To-Do List
Backend (Node.js/Express)
GET /api/tools: Return all AI tools
GET /api/tools?category=Writing: Filter tools by category
POST /api/favorites: Save a tool to favorites (send {toolId: 1})
GET /api/favorites: List all saved favorites
Edge Cases:
Prevent saving the same favorite twice (show a message)
If no tools match a filter, respond with an empty array (and show "No tools found" in UI)
sample data:
[
{
"id": 1,
"name": "ChatGPT",
"category": "Writing",
"url": "https://chat.openai.com",
"excerpt": "Advanced conversational AI for content creation, research, and brainstorming.",
"tags": ["AI Assistant", "Chatbot", "Content Generation"],
"pricing": "Freemium"
}
]
Instructions: Use the button above to download the full data file. Use these objects as your backend database for all API logic.
(No DB needed—store favorites in memory, they can reset on restart)
Frontend (React)
Screen 1: All Tools
Display tools as cards (show name & category)
Dropdown or search to filter by category (case-insensitive)
":heart: Favorite" button on each card
If no results, show "No tools found" message
Screen 2: My Favorites
List saved favorites
Option to remove items
If none, show a message
UI must: Be mobile-friendly, have loading spinners, and show error messages (e.g., "Failed to save favorite")
:rocket: Bonus Features (Pick at least 2)
Dark mode toggle
Chart showing number of tools by category
Search by tool name
Confetti animation on save
:mailbox_with_mail: How to Submit
Code: Push to GitHub with /client (React) and /server (Node.js)
README.md: Add screenshots, how to run both frontend + backend, and your bonus features
I'll help you build a comprehensive full-stack AI tools directory! This will be a complete application with Express backend, React frontend, and all the bonus features.
I've built a comprehensive full-stack AI Tools Directory with all the requested features and bonus functionality! Here's what I've created:
Backend (Node.js/Express):
Frontend (React):
cd server && npm install && npm run devcd client && npm install && npm startThe application handles all the specified edge cases, provides excellent user experience with loading states and error handling, and includes creative bonus features that make it stand out!
To configure the generation, complete these steps:
use react instead of next app
I'll convert the project to use pure React instead of Next.js. Let me update the structure and remove Next.js specific features.
Perfect! I've converted the entire project to use pure React instead of Next.js. Here are the key changes I made:
src/ folderpublic/index.html for React app entry pointpackage.json with React-specific dependenciestailwind.config.js, postcss.config.js)BrowserRouterLink components"use client" directives)cd server
npm install
npm run devcd client
npm install
npm startThe application now runs as a pure React SPA with all the same functionality, just without Next.js dependencies!