Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: wwitteveen-ut
  • Language: TypeScript
  • Default Branch: main
  • Size: 26.6 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 9 months ago · Last pushed 7 months ago
Metadata Files
Citation

https://github.com/wwitteveen-ut/PhishingStressor-webapp/blob/main/

# Phishing Stressor Web Application

A Next.js-based web application for conducting and managing phishing research experiments in a controlled environment. This platform enables researchers to create experiments, compose emails, manage participants, and track engagement metrics.

## Features

### Researcher Features

- **Experiment Management**
  - Create and manage research experiments
  - Define experiment duration and participant groups
  - Add/remove researchers from experiments
  - Generate participant credentials

- **Email Management**
  - Compose and schedule emails
  - Rich text editor with formatting options
  - File attachment support
  - Email scheduling based on participant login time
  - Email timeline visualization

- **Analytics & Tracking**
  - Track email open rates
  - Monitor link clicks and attachment interactions
  - View participant responses and engagement
  - Analyze phishing attempt success rates
  - Visual heatmaps for email interactions

### Participant Features

- **Email Interface**
  - Realistic email client interface
  - Email viewing and responding capabilities
  - Attachment handling

## Development Setup

1. Install dependencies:
   ```bash
   yarn install
   ```

2. Copy `.env.example` to `.env` and fill in the required environment variables.

3. Run the development server:
   ```bash
   yarn dev
   ```

4. To build the project for production:
   ```bash
   yarn build
   ```

5. To start the production server after building:
   ```bash
   yarn start
   ```

## Technology Stack

- **Frontend Framework**: Next.js (with TypeScript)
- **UI Components**: Mantine UI
- **Rich Text Editing**: TipTap
- **State Management**: Zustand
- **Authentication**: Auth.js
- **API Mocking**: MSW (Mock Service Worker)

## Project Structure

```
src/
 app/                    # Next.js app router pages
 auth/                   # Authentication logic and components
 mail/                   # Email client implementation
    actions/           # Email-related server actions
    components/        # Email UI components
    store/             # Email state management
    utils/             # Email-related utilities
 researcher/            # Researcher dashboard implementation
    actions/           # Researcher server actions
    components/        # Researcher UI components
    store/             # Researcher state management
 shared/                # Shared utilities and components
 mocks/                 # Mock data and API handlers
```



6. Open [http://localhost:3000](http://localhost:3000) in your browser

Owner

  • Login: wwitteveen-ut
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
title: PhishingStressor-interface
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Wessel
    family-names: Witteveen
repository-code: >-
  https://github.com/wwitteveen-ut/PhishingStressor-webapp.git
abstract: >-
  Phishing remains a widespread cyber threat, highlighting
  the need for research environments that capture realistic
  user behaviour to enhance tools to combat the issue.
  Existing methods, such as surveys and quizzes, often fall
  short because participants are aware that they are being
  studied, leading to unnatural responses. This paper
  presents a novel artifact to address these issues: a
  scenario-based phishing simulation interface developed as
  a TypeScript-based Next.js web application named
  PhishingStressor, to be combined with the backend of a
  separately created artifact. Following the Design Science
  Methodology, an artifact is described featuring a
  minimalist email client interface inspired by modern web
  clients, offering a recognizable and comfortable
  environment for participants. It enables researchers to
  design and manage experiments with randomized control
  groups and provides visualization tools to analyse user
  behaviour.
keywords:
  - cybersecurity
  - design science research
  - phishing simulation
  - user interface
version: 1.0.0

GitHub Events

Total
  • Push event: 2
  • Create event: 1
Last Year
  • Push event: 2
  • Create event: 1

Dependencies

package.json npm
  • @eslint/eslintrc ^3 development
  • @tailwindcss/postcss ^4 development
  • @types/node ^20 development
  • @types/react ^19 development
  • @types/react-dom ^19 development
  • eslint ^9 development
  • eslint-config-next 15.3.2 development
  • msw ^2.8.2 development
  • postcss ^8.5.3 development
  • postcss-preset-mantine ^1.17.0 development
  • postcss-simple-vars ^7.0.1 development
  • tailwindcss ^4 development
  • typescript ^5 development
  • @mantine/charts ^8.0.0
  • @mantine/code-highlight ^8.0.0
  • @mantine/core ^8.0.1
  • @mantine/dates ^8.0.0
  • @mantine/dropzone ^8.0.1
  • @mantine/form ^8.0.0
  • @mantine/hooks ^8.0.2
  • @mantine/modals ^8.0.2
  • @mantine/notifications ^8.1.0
  • @mantine/nprogress ^8.0.0
  • @mantine/tiptap ^8.0.1
  • @tabler/icons-react ^3.33.0
  • @tanstack/react-query ^5.76.1
  • @tiptap/extension-highlight ^2.14.0
  • @tiptap/extension-link ^2.12.0
  • @tiptap/extension-placeholder ^2.12.0
  • @tiptap/extension-subscript ^2.14.0
  • @tiptap/extension-superscript ^2.14.0
  • @tiptap/extension-text-align ^2.14.0
  • @tiptap/extension-underline ^2.14.0
  • @tiptap/pm ^2.12.0
  • @tiptap/react ^2.12.0
  • @tiptap/starter-kit ^2.12.0
  • @types/html-to-text ^9.0.4
  • dayjs ^1.11.13
  • heatmap-ts ^0.0.5
  • html-to-text ^9.0.5
  • lucide-react ^0.510.0
  • next 15.3.2
  • next-auth ^5.0.0-beta.28
  • react ^19.0.0
  • react-dom ^19.0.0
  • recharts 2
  • zustand ^5.0.4
yarn.lock npm
  • 673 dependencies