OasisBio is a comprehensive identity management system that allows users to create, manage, and showcase digital identities across multiple time periods and dimensions. It provides a rich set of features for character creation, ability management, worldbuilding, and 3D model integration.
- Six-step process: Identity, Era, Abilities, Repositories, Model, Publish
- Comprehensive form fields for all character attributes
- Real-time validation and error handling
- Scroll-based design with multiple sections
- Hero section with system tags
- Identity Panel with basic information
- Ability Matrix with categorized abilities
- DCOS Archive for character documents
- World Gallery for associated worlds
- References Library for external resources
- 3D Presence with interactive 3D model viewer
- Era Timeline with visual time-based progression
- Left navigation bar with sections: Overview, Identity, Eras, Abilities, DCOS, References, Worlds, Models, Publish
- Stats overview with key metrics
- OasisBios status with drafts and published bios
- Recent updates activity feed
- Quick actions for common tasks
- Account and system status information
- Interactive 3D viewer using Three.js with GLTFLoader
- Orbit controls for rotating and zooming
- Real-time rendering with lighting effects
- GLB format support for efficient loading
- Model preview generation for quick visualization
- Cloudflare R2 integration for secure model storage
- Visual timeline with interactive elements
- Year-based organization of character development
- Ability progression across different eras
- Detailed era descriptions and context
- Categorized abilities (Technology, Languages, Arts, Worldbuilding)
- Level-based proficiency (1-5)
- Featured abilities showcase
- Custom ability creation
- DCOS (Digital Character Operating System) for character documents
- References for external resources
- Worlds for fictional settings
- 3D Models for visual representation
- Frontend: Next.js 14.1.4, React 18, TypeScript 5.4.3, Tailwind CSS 3.4.3
- Backend: Node.js, Next.js API routes
- Database: PostgreSQL (Supabase)
- ORM: Prisma 6.19.1
- 3D Rendering: Three.js
- Authentication: Supabase Auth with OTP
- Object Storage: Cloudflare R2
- Node.js 18.0.0 or later
- npm 9.0.0 or later
- PostgreSQL database (Supabase recommended)
- Clone the repository
git clone https://github.com/yourusername/oasisbio.git
cd oasisbio- Install dependencies
npm install- Set up environment variables
# Create .env.local file
cp .env.example .env.local
# Edit .env.local with your database credentials and other settings- Initialize database
npx prisma db push
npx prisma generate- Start development server
npm run dev- Build for production
npm run build- Start production server
npm startoasisbio/
├── src/
│ ├── app/
│ │ ├── dashboard/ # Dashboard pages
│ │ │ ├── oasisbios/ # Character management
│ │ │ ├── worlds/ # World management
│ │ │ ├── models/ # Model management
│ │ │ ├── profile/ # Profile management
│ │ │ ├── settings/ # Settings page
│ │ │ └── page.tsx # Dashboard overview
│ │ ├── bio/ # Public character pages
│ │ │ └── [slug]/ # Dynamic character pages
│ │ ├── auth/ # Authentication pages
│ │ ├── create/ # Character creation page
│ │ ├── explore/ # Explore page
│ │ ├── about/ # About page
│ │ ├── manifesto/ # Manifesto page
│ │ ├── templates/ # Templates page
│ │ └── api/ # API routes
│ ├── components/ # Reusable components
│ │ ├── auth/ # Authentication components
│ │ ├── navigation/ # Navigation components
│ │ ├── mascot/ # Mascot components
│ │ ├── Button.tsx # Button component
│ │ ├── Card.tsx # Card component
│ │ ├── Input.tsx # Input component
│ │ ├── ModelViewer.tsx # 3D model viewer
│ │ └── ... # Other components
│ ├── lib/ # Utility functions
│ │ ├── auth.ts # Authentication utilities
│ │ ├── supabase.ts # Supabase client
│ │ ├── cloudflare-r2.ts # Cloudflare R2 client
│ │ ├── prisma.ts # Prisma client
│ │ ├── validation.ts # Validation utilities
│ │ └── storage.ts # Storage utilities
│ ├── services/ # Business logic services
│ │ ├── exportService.ts # Export service
│ │ └── importService.ts # Import service
│ ├── generated/ # Generated Prisma client
│ └── middleware.ts # Next.js middleware
├── prisma/ # Database schema
│ ├── schema.prisma # Prisma schema definition
│ ├── seed.ts # Database seed script
│ └── migrations/ # Database migrations
├── public/ # Static assets
│ └── assets/ # Public assets
├── docs/ # Project documentation
├── scripts/ # Utility scripts
├── .env.example # Environment variable example
├── next.config.js # Next.js configuration
├── package.json # Package configuration
└── README.md # Project documentation
- Navigate to the dashboard
- Click "Create New OasisBio"
- Follow the six-step process:
- Identity: Enter basic character information
- Era: Define time periods and context
- Abilities: Add and categorize abilities
- Repositories: Upload documents and references
- Model: Upload or select 3D model
- Publish: Review and publish
- Navigate to the dashboard
- Click "Manage OasisBios"
- Select a character to edit or view
- Navigate to
/bio/[slug]where [slug] is the character's unique identifier - Explore the scroll-based interface
- Interact with the 3D model viewer
- Browse through the character's eras, abilities, and repositories
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a new branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License.
For questions or support, please contact:
- Email: oasisbiosupport@oermos.com
- GitHub: https://github.com/zbbsdsb/oasisbio