Skip to content

shchilkin/activity-finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Activity Finder

A Next.js web app for browsing and exploring community activities.

Live Demo: https://activity-finder-sigma.vercel.app

About

This project was created as a front-end take-home assignment for Illusian. It's a demo application that showcases:

  • Modern React/Next.js development practices
  • Component-driven development with Storybook
  • Comprehensive testing strategies
  • TypeScript and type-safe development

Important notes:

  • No backend - all data is stored in mock JSON files
  • No authentication - anyone can edit participant data by name
  • Not production-ready (see Future Improvements for details)

📝 Read about my thinking process and decisions →

Features

  • Browse Activities - View a list of community activities with key details
  • Activity Details - See full information including description, location, time and more
  • Participant Management - Interactive signup and attendance tracking
  • Availability Status - Display of available spots
  • Responsive Design - Works on mobile and desktop devices

Tech Stack

Prerequisites

  • Node.js 20.0.0 or higher
  • npm 10.0.0 or higher

Check your versions:

node --version
npm --version

Quick Start

# Install dependencies
npm install

# Run development server
npm run dev

Open http://localhost:3000 to view the app.

Essential Commands

Command Description
npm run dev Start development server (port 3000)
npm run storybook Start Storybook (port 6006)
npm test Run tests in watch mode
npm run build Build for production
npm run lint Check code quality

Development Setup

Option 1: Dev Container (Recommended)

  1. Install Docker and VS Code with the Dev Containers extension
  2. Open the repository in VS Code and select "Reopen in Container"

The container includes Node.js 20, all dependencies, and configured extensions.

Option 2: Manual Setup

Requires Node.js 20 or later:

npm install

Project Structure

  • src/app/ - Next.js pages and layouts
  • src/components/ - React components with stories and tests
  • src/data/ - Mock activity data
  • src/services/ - Business logic and data services
  • src/utils/ - Utility functions and helpers
  • src/schemas/ - Zod validation schemas
  • docs/ - Development guides

Mock Data

Sample activities are available at src/data/activities.json for development:

import activities from '@/data/activities.json';

See inline comments in the JSON file for field descriptions.

Documentation

Testing

Run tests with Vitest:

npm test              # Watch mode
npm run test:run      # CI mode
npm run test:ui       # UI interface
npm run test:coverage # With coverage

See the Testing Guide for detailed guidelines on writing effective tests.

Storybook

Component documentation and visual testing:

npm run storybook         # Start dev server
npm run build-storybook   # Build static site

See the Storybook Guide for best practices on creating stories.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A web app for browsing and exploring community activities.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors