Skip to content

hassanzouhar/monotropism_saq

Repository files navigation

Monotropism Questionnaire (MQ)

This project is a web-based implementation of the Monotropism Questionnaire (MQ), a research-validated instrument designed to measure a monotropic cognitive style. It was developed by autistic scholars and is based on the theory of monotropism.

This application provides an interactive and user-friendly interface for individuals to take the questionnaire, receive a score, and understand their results in the context of recent research.

Features

  • Interactive Questionnaire: A 47-item questionnaire with a user-friendly, multi-step interface.
  • Progress Tracking: Visual indicators for overall and section-specific progress.
  • Detailed Results: Calculates an overall monotropism score and a profile across eight distinct factors.
  • Score Interpretation: Provides context and interpretation for the scores based on the validation study (Garau et al., 2023).
  • Contextual Information: Includes background on monotropism theory and important considerations for interpreting the results.
  • Responsive Design: Built with Tailwind CSS for a seamless experience across different devices.

Tech Stack

  • React: A JavaScript library for building user interfaces.
  • TypeScript: A typed superset of JavaScript that compiles to plain JavaScript.
  • Vite: Modern build tool and development server for faster development.
  • Tailwind CSS: A utility-first CSS framework for rapid UI development.
  • Lucide React: A library of simply designed, beautiful icons.
  • @vercel/analytics: Analytics integration for production deployment.

Getting Started

To run this project locally, follow these steps:

Prerequisites

  • Node.js: Version 18.0.0 or higher
  • npm: Version 10.0.0 or higher

Setup

  1. Clone the repository:

    git clone <repository-url>
    cd monotropism_saq
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev
    # or
    npm start

    This will start the Vite development server and open the application in your default browser at http://localhost:3000.

Available Scripts

  • npm run dev - Start the development server with hot module replacement
  • npm start - Alternative command to start the development server
  • npm run build - Build the project for production deployment
  • npm run preview - Preview the production build locally

Recent Updates

Migration to Vite (2024)

This project has been migrated from Create React App to Vite for improved performance and security:

Benefits:

  • Faster Development: Vite's development server starts in milliseconds vs seconds
  • 🔒 Enhanced Security: Eliminated all npm security vulnerabilities by removing react-scripts dependencies
  • 📦 Smaller Bundle: Reduced dependencies from 1,500+ to ~80 packages
  • 🛠️ Better DX: Improved TypeScript support and Hot Module Replacement (HMR)
  • 🏗️ Modern Tooling: Uses ESBuild for lightning-fast builds

Breaking Changes:

  • Development command changed from npm start to npm run dev (though npm start still works)
  • Build output directory remains build/ for compatibility
  • All existing functionality preserved

Deployment

The project is optimized for deployment on modern platforms:

  • Vercel: Includes @vercel/analytics integration
  • Build Output: Static files in build/ directory
  • Node.js Requirements: Compatible with Node.js 18+ environments

Troubleshooting

Node Version Issues

If you encounter errors about Node.js version compatibility:

  1. Check your Node.js version:

    node --version
  2. Update to Node.js 18+ if needed:

    • Using fnm: fnm use 18 or fnm install 18
    • Using nvm: nvm use 18 or nvm install 18
    • Download from nodejs.org

Development Server Issues

If the development server doesn't start:

  1. Clear node_modules and reinstall:

    rm -rf node_modules package-lock.json
    npm install
  2. Try different ports if 3000 is busy:

    npm run dev -- --port 3001

Build Issues

If the build fails:

  1. Check for TypeScript errors:

    npx tsc --noEmit
  2. Clear Vite cache:

    rm -rf .vite
    npm run build

Disclaimer

This questionnaire is not a diagnostic tool for autism or ADHD. It is an instrument for measuring a cognitive style. The results should be interpreted as indicative of monotropic traits and not as a clinical diagnosis.

Attribution

This questionnaire is based on the work of the following researchers:

Garau, V., Woods, R., Chown, N., Hallett, S., Murray, F., & Murray, D. (2023). The Monotropism Questionnaire, Open Science Framework.