autism-tests

🧠 Autism Tests Platform

A comprehensive web-based platform for autism spectrum disorder (ASD) assessment and screening tools. This platform provides evidence-based assessment instruments designed to support early identification and intervention.

⚠️ Important Disclaimer

This platform is for screening and educational purposes only and does not provide medical diagnosis. A comprehensive evaluation by qualified healthcare professionals is required for autism diagnosis. These tools should be used as part of a broader assessment process.

🌟 Features

πŸš€ Quick Start

🌐 Use it live (GitHub Pages)

The platform runs entirely in your browser β€” no server, no installation:

πŸ‘‰ https://huskynarr.github.io/autism-tests/

Every push to main automatically lints, tests, builds and publishes the site via the GitHub Actions workflow in .github/workflows/deploy.yml.

One-time repository setup: go to Settings β†’ Pages β†’ Build and deployment β†’ Source and select β€œGitHub Actions”. After the next push to main the site is live at the URL above.

πŸ—οΈ Build & Deploy (GitHub Pages)

Statisches Deployment (empfohlen fΓΌr GitHub Pages)

  1. Build-Verzeichnis vorbereiten:
    • Kopiere den Inhalt von public/ und das gesamte Verzeichnis assets/ in ein neues Verzeichnis, z.B. dist/.
    • Beispiel:
      mkdir -p dist/assets
      cp -r public/* dist/
      cp -r assets dist/
      
  2. GitHub Pages konfigurieren:
    • Gehe zu den Repository-Einstellungen β†’ Pages.
    • WΓ€hle als Quelle das Verzeichnis /dist (oder /docs, je nach Workflow).
    • Alternativ kannst du den Inhalt direkt in das /docs-Verzeichnis kopieren und dieses als Pages-Root nutzen.
  3. Wichtige Hinweise:
    • Es ist kein Node.js-Server nΓΆtig, alles lΓ€uft clientseitig im Browser.
    • Die Startdatei muss index.html heißen.
    • Die Pfade zu CSS/JS/Assets mΓΌssen relativ oder ab Root (/assets/...) sein.
    • API-Endpunkte werden nicht benΓΆtigt, alle Logik lΓ€uft im Browser.
  4. Optional: Automatisierung
    • Du kannst ein einfaches Skript in package.json ergΓ€nzen:
      "scripts": {
        ...
        "build:static": "mkdir -p dist/assets && cp -r public/* dist/ && cp -r assets dist/"
      }
      
    • Dann einfach npm run build:static ausfΓΌhren und /dist deployen.

Prerequisites

Installation

  1. Clone the repository:
    git clone https://github.com/Huskynarr/autism-tests.git
    cd autism-tests
    
  2. Install dependencies:
    npm install
    
  3. Start the development server:
    npm start
    
  4. Open your browser: Navigate to http://localhost:3000

πŸ“š Available Assessment Tools

1. Autism Spectrum Quotient (AQ)

2. Modified Checklist for Autism in Toddlers (M-CHAT)

3. Social Responsiveness Scale (SRS)

πŸ› οΈ Development

Project Structure

autism-tests/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ core/
β”‚   β”‚   └── TestEngine.js          # Core testing functionality
β”‚   β”œβ”€β”€ assessment/
β”‚   β”‚   └── AutismAssessment.js    # Session management
β”‚   └── index.js                   # Main application entry
β”œβ”€β”€ public/
β”‚   └── index.html                 # Web interface
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ styles.css                 # Styling
β”‚   └── app.js                     # Frontend JavaScript
β”œβ”€β”€ tests/
β”‚   └── autism-tests.test.js       # Test suite
β”œβ”€β”€ docs/                          # Documentation
β”œβ”€β”€ package.json                   # Project configuration
└── README.md                      # This file

Available Scripts

API Endpoints

Health Check

GET /api/health

Returns platform health status.

Get Available Tests

GET /api/tests

Returns list of available assessment tools.

Start Assessment

POST /api/assessment/start
Content-Type: application/json

{
  "testId": "aq-test",
  "participantInfo": {},
  "userAgent": "...",
  "language": "en",
  "timezone": "UTC"
}

Get Session Status

GET /api/assessment/{sessionId}

Submit Answer

POST /api/assessment/{sessionId}/answer
Content-Type: application/json

{
  "value": "3"
}

πŸ§ͺ Testing

The platform includes comprehensive tests covering:

Run tests with:

npm test

For continuous testing during development:

npm run test:watch

πŸ”§ Configuration

Environment Variables

Create a .env file in the root directory:

PORT=3000
NODE_ENV=development
SESSION_SECRET=your-secret-key
LOG_LEVEL=info

ESLint Configuration

The project uses ESLint for code quality. Configuration is in .eslintrc.js:

module.exports = {
    env: {
        node: true,
        es2021: true,
        jest: true
    },
    extends: ['eslint:recommended'],
    parserOptions: {
        ecmaVersion: 2021,
        sourceType: 'module'
    },
    rules: {
        'no-console': 'warn',
        'no-unused-vars': 'error',
        'prefer-const': 'error'
    }
};

πŸ“– Clinical Background

Scientific Basis

All assessment tools included in this platform are based on peer-reviewed research:

Interpretation Guidelines

Results are provided with appropriate context and limitations:

πŸ” Privacy & Security

🌍 Accessibility

The platform is designed to be accessible to all users:

🀝 Contributing

We welcome contributions to improve the platform:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'Add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Development Guidelines

πŸ“‹ Roadmap

Planned Features

Version History

πŸ“ž Support & Resources

Getting Help

Professional Resources

Community Resources

License

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

Ethical Considerations

Citation

If you use this platform in research or clinical practice, please cite:

Autism Tests Platform (2024). Open-source autism screening tools.
GitHub repository: https://github.com/Huskynarr/autism-tests

πŸ“Š Technical Specifications

System Requirements

Performance

Security


πŸ™ Acknowledgments


Built with ❀️ for the autism community

For questions, support, or collaboration opportunities, please reach out through GitHub Issues or Discussions.