mirror of
https://github.com/soconnor0919/hristudio.git
synced 2025-12-11 14:44:44 -05:00
docs: consolidate and restructure documentation architecture
- Remove outdated root-level documentation files - Delete IMPLEMENTATION_STATUS.md, WORK_IN_PROGRESS.md, UI_IMPROVEMENTS_SUMMARY.md, CLAUDE.md - Reorganize documentation into docs/ folder - Move UNIFIED_EDITOR_EXPERIENCES.md → docs/unified-editor-experiences.md - Move DATATABLE_MIGRATION_PROGRESS.md → docs/datatable-migration-progress.md - Move SEED_SCRIPT_README.md → docs/seed-script-readme.md - Create comprehensive new documentation - Add docs/implementation-status.md with production readiness assessment - Add docs/work-in-progress.md with active development tracking - Add docs/development-achievements.md consolidating all major accomplishments - Update documentation hub - Enhance docs/README.md with complete 13-document structure - Organize into logical categories: Core, Status, Achievements - Provide clear navigation and purpose for each document Features: - 73% code reduction achievement through unified editor experiences - Complete DataTable migration with enterprise features - Comprehensive seed database with realistic research scenarios - Production-ready status with 100% backend, 95% frontend completion - Clean documentation architecture supporting future development Breaking Changes: None - documentation restructuring only Migration: Documentation moved to docs/ folder, no code changes required
This commit is contained in:
164
README.md
164
README.md
@@ -1,29 +1,157 @@
|
||||
# Create T3 App
|
||||
# HRIStudio
|
||||
|
||||
This is a [T3 Stack](https://create.t3.gg/) project bootstrapped with `create-t3-app`.
|
||||
HRIStudio is a comprehensive web-based platform for managing Wizard of Oz (WoZ) studies in Human-Robot Interaction research. It provides researchers with standardized tools for designing experiments, executing trials, and analyzing data while ensuring reproducibility and scientific rigor.
|
||||
|
||||
## What's next? How do I make an app with this?
|
||||
## Features
|
||||
|
||||
We try to keep this project as simple as possible, so you can start with just the scaffolding we set up for you, and add additional things later when they become necessary.
|
||||
- **Visual Experiment Designer**: Drag-and-drop interface for creating complex interaction scenarios
|
||||
- **Real-time Trial Control**: Live robot control with responsive wizard interface during experiments
|
||||
- **Hierarchical Study Structure**: Organized workflow from Study → Experiment → Trial → Step → Action
|
||||
- **Multi-modal Data Capture**: Synchronized recording of video, audio, logs, and sensor data
|
||||
- **Role-based Access Control**: Four distinct roles (Administrator, Researcher, Wizard, Observer)
|
||||
- **Robot Platform Integration**: Support for multiple robot platforms via RESTful APIs, ROS, and custom plugins
|
||||
- **Collaborative Research**: Team management with secure data sharing and role-based permissions
|
||||
|
||||
If you are not familiar with the different technologies used in this project, please refer to the respective docs. If you still are in the wind, please join our [Discord](https://t3.gg/discord) and ask for help.
|
||||
## Tech Stack
|
||||
|
||||
- [Next.js](https://nextjs.org)
|
||||
- [NextAuth.js](https://next-auth.js.org)
|
||||
- [Prisma](https://prisma.io)
|
||||
- [Drizzle](https://orm.drizzle.team)
|
||||
- [Tailwind CSS](https://tailwindcss.com)
|
||||
- [tRPC](https://trpc.io)
|
||||
- **Framework**: [Next.js 15](https://nextjs.org) with App Router
|
||||
- **Authentication**: [NextAuth.js v5](https://next-auth.js.org)
|
||||
- **Database**: [PostgreSQL](https://postgresql.org) with [Drizzle ORM](https://orm.drizzle.team)
|
||||
- **Storage**: [MinIO](https://min.io) (S3-compatible) for media files
|
||||
- **API**: [tRPC](https://trpc.io) for type-safe client-server communication
|
||||
- **UI**: [Tailwind CSS](https://tailwindcss.com) with [shadcn/ui](https://ui.shadcn.com) and [Radix UI](https://radix-ui.com)
|
||||
- **Package Manager**: [Bun](https://bun.sh) (exclusively)
|
||||
|
||||
## Learn More
|
||||
## Getting Started
|
||||
|
||||
To learn more about the [T3 Stack](https://create.t3.gg/), take a look at the following resources:
|
||||
### Prerequisites
|
||||
|
||||
- [Documentation](https://create.t3.gg/)
|
||||
- [Learn the T3 Stack](https://create.t3.gg/en/faq#what-learning-resources-are-currently-available) — Check out these awesome tutorials
|
||||
- [Bun](https://bun.sh) (latest version)
|
||||
- [PostgreSQL](https://postgresql.org) (14+)
|
||||
- [Docker](https://docker.com) (optional, for containerized deployment)
|
||||
|
||||
You can check out the [create-t3-app GitHub repository](https://github.com/t3-oss/create-t3-app) — your feedback and contributions are welcome!
|
||||
### Installation
|
||||
|
||||
## How do I deploy this?
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone https://github.com/your-org/hristudio.git
|
||||
cd hristudio
|
||||
```
|
||||
|
||||
Follow our deployment guides for [Vercel](https://create.t3.gg/en/deployment/vercel), [Netlify](https://create.t3.gg/en/deployment/netlify) and [Docker](https://create.t3.gg/en/deployment/docker) for more information.
|
||||
2. Install dependencies:
|
||||
```bash
|
||||
bun install
|
||||
```
|
||||
|
||||
3. Set up environment variables:
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# Edit .env with your database credentials and other settings
|
||||
```
|
||||
|
||||
4. Start the database (using Docker):
|
||||
```bash
|
||||
bun run docker:up
|
||||
```
|
||||
|
||||
5. Push the database schema:
|
||||
```bash
|
||||
bun run db:push
|
||||
```
|
||||
|
||||
6. Start the development server:
|
||||
```bash
|
||||
bun dev
|
||||
```
|
||||
|
||||
Open [http://localhost:3000](http://localhost:3000) in your browser.
|
||||
|
||||
## Development Commands
|
||||
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `bun dev` | Start development server |
|
||||
| `bun build` | Build for production |
|
||||
| `bun start` | Start production server |
|
||||
| `bun typecheck` | Run TypeScript checks |
|
||||
| `bun lint` | Run ESLint |
|
||||
| `bun lint --fix` | Fix ESLint issues |
|
||||
| `bun test` | Run tests |
|
||||
| `bun db:generate` | Generate database schema |
|
||||
| `bun db:migrate` | Run database migrations |
|
||||
| `bun db:push` | Push schema changes |
|
||||
| `bun db:studio` | Open database studio |
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
src/
|
||||
├── app/ # Next.js app router
|
||||
│ ├── (auth)/ # Authentication pages
|
||||
│ ├── (dashboard)/ # Main application pages
|
||||
│ ├── api/ # API routes
|
||||
│ └── layout.tsx
|
||||
├── components/ # Shared UI components
|
||||
│ ├── ui/ # shadcn/ui components
|
||||
│ ├── dashboard/ # Dashboard-specific components
|
||||
│ ├── experiments/ # Experiment-related components
|
||||
│ └── studies/ # Study management components
|
||||
├── lib/ # Utilities and configurations
|
||||
│ ├── db/ # Database setup and schemas
|
||||
│ ├── trpc/ # tRPC setup and routers
|
||||
│ └── auth/ # NextAuth configuration
|
||||
└── types/ # Shared TypeScript types
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
HRIStudio follows a three-layer architecture:
|
||||
|
||||
1. **User Interface Layer**: Browser-based interfaces for experiment design, wizard control, and data analysis
|
||||
2. **Data Management Layer**: PostgreSQL database with role-based access control and MinIO for media storage
|
||||
3. **Robot Integration Layer**: Platform-agnostic communication supporting RESTful APIs, ROS, and custom plugins
|
||||
|
||||
## Key Concepts
|
||||
|
||||
### Hierarchical Study Structure
|
||||
|
||||
- **Study**: Top-level container for a research project
|
||||
- **Experiment**: Parameterized template specifying experimental protocol
|
||||
- **Trial**: Executable instance with specific participant and conditions
|
||||
- **Step**: Distinct phase containing wizard or robot instructions
|
||||
- **Action**: Specific atomic task (speech, movement, input gathering, etc.)
|
||||
|
||||
### User Roles
|
||||
|
||||
- **Administrator**: Full system access and user management
|
||||
- **Researcher**: Study creation, experiment design, data analysis
|
||||
- **Wizard**: Trial execution and robot control
|
||||
- **Observer**: Read-only access to trials and data
|
||||
|
||||
## Contributing
|
||||
|
||||
1. Fork the repository
|
||||
2. Create a feature branch: `git checkout -b feature-name`
|
||||
3. Make your changes following the [project guidelines](./.rules)
|
||||
4. Run tests: `bun test`
|
||||
5. Run type checking: `bun typecheck`
|
||||
6. Run linting: `bun lint`
|
||||
7. Commit your changes: `git commit -m 'Add feature'`
|
||||
8. Push to the branch: `git push origin feature-name`
|
||||
9. Create a Pull Request
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
||||
|
||||
## Support
|
||||
|
||||
For questions, issues, or contributions:
|
||||
|
||||
- Create an [issue](https://github.com/your-org/hristudio/issues)
|
||||
- Check the [documentation](./docs/)
|
||||
- Review the [project rules](./.rules)
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
HRIStudio was developed to advance Human-Robot Interaction research by providing standardized, reproducible methodologies for Wizard of Oz studies.
|
||||
Reference in New Issue
Block a user