ProjectZer0 is an interactive knowledge-sharing and visualization platform that enables users to explore and contribute to a collective understanding of concepts, beliefs, and their interconnections.
- Dynamic force-directed and concentric graph layouts
- Real-time node interactions and animations
- Custom Three.js-powered welcome scene
- Smooth transitions and zooming capabilities
- Word Nodes: Explore definitions and relationships
- Belief Nodes: Share and discuss personal beliefs
- Discussion System: Engage in meaningful conversations
- Voting System: Community-driven content curation
- Seamless Auth0 Authentication
- Customizable user profiles
- Interactive node creation wizards
- Real-time activity tracking
- Responsive design with custom animations
- SVG and Canvas-based rendering
- WebGL-powered 3D visualizations
- Custom background animations
- Advanced state management
- Optimized performance with virtual scrolling
- Framework: SvelteKit with TypeScript
- Styling: Custom CSS with dynamic theming
- Visualization:
- D3.js for graph layouts
- Three.js for 3D scenes
- Custom Canvas animations
- State Management: Svelte stores
- Authentication: Auth0 integration
- Framework: NestJS with TypeScript
- Database: Neo4j graph database
- Authentication: JWT with Auth0
- API: RESTful endpoints with TypeScript types
- Framework: FastAPI
- Models: Integration with Hugging Face transformers
- Features: Automated tag generation and content analysis
- Node.js (v16 or higher)
- npm or pnpm
- Neo4j Database
- Python 3.8+ (for AI component)
bash cd ProjectZer0Frontend npm install npm run dev
cd ProjectZer0Backend
npm install
npm run start:dev
Create .env
files in both frontend and backend directories:
AUTH0_DOMAIN=your-auth0-domain
AUTH0_CLIENT_ID=your-client-id
API_BASE_URL=http://localhost:3000
NEO4J_URI=your-neo4j-uri
NEO4J_USERNAME=your-username
NEO4J_PASSWORD=your-password
JWT_SECRET=your-jwt-secret
# Unit tests
npm run test:unit
# Integration tests
npm run test:integration
# Coverage report
npm run test:coverage
# Unit tests
npm run test
# E2E tests
npm run test:e2e
ProjectZer0Frontend/
βββ src/
β βββ lib/
β β βββ components/
β β β βββ graph/
β β β βββ forms/
β β β βββ welcome/
β β βββ services/
β β βββ stores/
β β βββ types/
β β βββ utils/
β βββ routes/
β βββ app.html
ProjectZer0Backend/
βββ src/
β βββ nodes/
β βββ users/
β βββ auth/
β βββ neo4j/
β βββ main.ts
typescript POST /auth/login // Authenticate user POST /auth/refresh-token // Refresh JWT token GET /auth/profile // Get user profile
// Word Nodes
GET /nodes/word/:id // Get word node
POST /nodes/word // Create word node
PUT /nodes/word/:id // Update word node
DELETE /nodes/word/:id // Delete word node
// Belief Nodes
GET /nodes/belief/:id // Get belief node
POST /nodes/belief // Create belief node
PUT /nodes/belief/:id // Update belief node
DELETE /nodes/belief/:id // Delete belief node
// Discussion
GET /discussions/:id // Get discussion
POST /discussions // Create discussion
PUT /discussions/:id // Update discussion
DELETE /discussions/:id // Delete discussion
GET /users/activity // Get user activity
PUT /users/profile // Update user profile
GET /users/interactions // Get user interactions
POST /users/vote // Cast vote on node
- Build the Application
cd ProjectZer0Frontend
npm run build
- Environment Configuration
- Update
.env
with production values - Configure Auth0 callback URLs
- Set API base URL
- Deployment Options
- Vercel (recommended)
- Netlify
- Custom server
- Build the Application
cd ProjectZer0Backend
npm run build
- Environment Setup
- Configure production environment variables
- Set up Neo4j database connection
- Configure JWT secrets
- Deployment Options
- Docker container
- Cloud services (AWS, GCP, Azure)
- Custom VPS
- Build the FastAPI Application
cd ProjectZer0AI
python -m pip install -r requirements.txt
- Deploy Options
- Docker container
- Cloud Run
- Kubernetes cluster
- TypeScript
- Use strict type checking
- Follow ESLint configuration
- Use interfaces for complex types
- Svelte
- Follow component structure guidelines
- Use SCSS for styling
- Implement proper reactivity
- Testing
- Write unit tests for utilities
- Include integration tests for components
- Maintain good test coverage
- Branch Naming
feature/description
bugfix/description
hotfix/description
- Commit Messages
feat: Add new feature
fix: Fix bug
docs: Update documentation
style: Format code
refactor: Refactor code
test: Add tests
- Pull Request Process
- Create feature branch
- Write descriptive PR
- Include tests
- Request review
- Force Layout Configuration
const forceConfig = {
strength: -800,
distance: 200,
center: 0.1,
collision: 80
}
- Three.js Scene Settings
const sceneConfig = {
fov: 75,
near: 0.1,
far: 1000,
position: [0, 0, 100]
}
- Rendering Options
- Enable virtual scrolling
- Use WebGL when available
- Implement lazy loading
- Caching Strategy
- Browser cache configuration
- Neo4j query optimization
- State management caching
- Authentication Problems
- Verify Auth0 configuration
- Check JWT token expiration
- Confirm callback URLs
- Graph Rendering Issues
- Check WebGL compatibility
- Verify data structure
- Monitor performance metrics
- Database Connection
- Verify Neo4j credentials
- Check connection string
- Monitor query performance
- Frontend Debugging
- Browser DevTools
- Svelte DevTools
- Performance profiler
- Backend Logging
logger.debug('Detailed information')
logger.info('General information')
logger.warn('Warning messages')
logger.error('Error details')
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Three.js community
- D3.js contributors
- Neo4j team
- Auth0 platform
- Open source community