Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
node-version: "20"
cache: "npm"
cache-dependency-path: package-lock.json

- name: Install dependencies
Expand All @@ -35,8 +35,8 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
node-version: "20"
cache: "npm"
cache-dependency-path: package-lock.json

- name: Install dependencies
Expand Down
31 changes: 30 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,31 @@ ACTA Web provides a sophisticated frontend experience for managing verifiable cr
## Key Features

### Passkey Authentication

- **WebAuthn Integration**: Industry-standard biometric authentication
- **No Seed Phrases**: Secure wallet creation without traditional crypto complexity
- **Cross-Device Sync**: Passkeys work seamlessly across all your devices
- **Stellar Wallet Generation**: Automatic wallet creation from biometric data
- **Enhanced Security**: Private keys never leave your device

### Modern UI/UX

- **Particle Background System**: Dynamic animated particles throughout the app
- **Glass Morphism Design**: Transparent elements with backdrop blur effects
- **Responsive Layout**: Mobile-first design that works on all screen sizes
- **Dark Theme**: Elegant dark interface optimized for usability
- **Smooth Animations**: Fluid transitions and micro-interactions

### Credential Management

- **Create Verifiable Credentials**: Issue tamper-proof credentials on blockchain
- **Credential Dashboard**: Comprehensive view of all your credentials
- **Search and Filter**: Find credentials quickly with advanced search
- **Public Verification**: Share verification links for instant credential validation
- **Status Management**: Track credential lifecycle and expiration

### API Integration

- **Secure API Keys**: Generate and manage authentication keys
- **Real-time Sync**: Live updates from the ACTA blockchain network
- **RESTful Architecture**: Clean integration with backend services
Expand All @@ -38,25 +42,29 @@ ACTA Web provides a sophisticated frontend experience for managing verifiable cr
## Tech Stack

### Core Framework

- **Next.js 15.5.0** with App Router and Turbopack
- **React 19** with modern hooks and concurrent features
- **TypeScript** for comprehensive type safety
- **Tailwind CSS** for utility-first styling

### Authentication & Blockchain

- **WebAuthn** for passkey implementation
- **Stellar SDK** for blockchain interactions
- **Custom Wallet Management** via passkey-derived keys
- **JWT Authentication** for session management

### UI Components

- **Radix UI** primitives for accessibility
- **shadcn/ui** component library
- **Lucide React** for icon system
- **Framer Motion** for animations
- **Custom Particle System** for background effects

### Development Tools

- **ESLint** with custom configuration
- **Prettier** for code formatting
- **Husky** for git hooks
Expand All @@ -65,6 +73,7 @@ ACTA Web provides a sophisticated frontend experience for managing verifiable cr
## Getting Started

### Prerequisites

- Node.js 18 or higher
- npm or yarn package manager
- Modern browser with WebAuthn support
Expand Down Expand Up @@ -159,6 +168,7 @@ src/
## Authentication Flow

### Passkey Registration

1. User visits application homepage
2. Clicks "Authenticate with Passkey"
3. Browser prompts for biometric authentication
Expand All @@ -168,6 +178,7 @@ src/
7. User automatically logged in and redirected to dashboard

### Passkey Login

1. Returning user visits homepage
2. Clicks "Authenticate with Passkey"
3. Browser recognizes existing passkey
Expand All @@ -192,19 +203,22 @@ src/
## Security Features

### Passkey Security

- **Hardware-Backed Keys**: Stored in secure hardware (TPM, Secure Enclave)
- **Biometric Gating**: Access requires fingerprint, face, or PIN
- **Phishing Resistant**: Domain-bound authentication prevents attacks
- **No Shared Secrets**: No passwords or seed phrases to compromise

### Application Security

- **HTTPS Enforcement**: All communications encrypted in transit
- **JWT Tokens**: Secure session management with expiration
- **Input Validation**: Comprehensive sanitization of user inputs
- **CORS Protection**: Proper cross-origin resource sharing controls
- **Content Security Policy**: XSS and injection attack prevention

### Blockchain Security

- **Immutable Storage**: Credentials permanently stored on Stellar
- **Cryptographic Proofs**: Mathematical verification of authenticity
- **Decentralized Verification**: No central authority required
Expand All @@ -213,12 +227,14 @@ src/
## Deployment

### Vercel (Recommended)

1. Connect repository to Vercel
2. Configure environment variables in dashboard
3. Enable automatic deployments on main branch
4. Production URL provided automatically

### Manual Deployment

```bash
# Build application
npm run build
Expand All @@ -228,6 +244,7 @@ npm run start
```

### Docker Deployment

```bash
# Build Docker image
docker build -t acta-web .
Expand All @@ -239,12 +256,14 @@ docker run -p 3000:3000 acta-web
## Browser Support

### Passkey Compatibility

- **Chrome**: 67+ (Windows, macOS, Android)
- **Safari**: 14+ (macOS, iOS)
- **Firefox**: 60+ (Windows, macOS)
- **Edge**: 79+ (Windows)

### Platform Support

- **Windows**: Windows Hello (Windows 10+)
- **macOS**: Touch ID, Face ID
- **iOS**: Touch ID, Face ID
Expand All @@ -254,13 +273,15 @@ docker run -p 3000:3000 acta-web
## Performance

### Optimization Features

- **Turbopack**: Ultra-fast build system for development
- **App Router**: Optimized routing with React Server Components
- **Image Optimization**: Automatic WebP conversion and lazy loading
- **Code Splitting**: Automatic bundle optimization
- **Static Generation**: Pre-rendered pages for optimal performance

### Bundle Analysis

```bash
# Analyze bundle size
npm run analyze
Expand All @@ -272,6 +293,7 @@ npm run lighthouse
## Contributing

### Development Workflow

1. Fork the repository
2. Create feature branch (`git checkout -b feature/awesome-feature`)
3. Make changes following code style guidelines
Expand All @@ -282,6 +304,7 @@ npm run lighthouse
8. Create Pull Request

### Code Standards

- **TypeScript**: Strict mode enabled, comprehensive typing
- **ESLint**: Custom configuration with React and Next.js rules
- **Prettier**: Automatic code formatting on save
Expand All @@ -293,30 +316,35 @@ npm run lighthouse
The frontend integrates with the ACTA API for:

### Authentication Endpoints

- `POST /v1/auth/register` - Passkey registration
- `POST /v1/auth/login` - Passkey authentication
- `GET /v1/auth/profile` - User profile data

### Credential Endpoints

- `POST /v1/credentials` - Create new credentials
- `GET /v1/credentials` - List user credentials
- `GET /v1/credentials/:id` - Get credential details
- `POST /v1/verify` - Verify credential authenticity

### API Key Endpoints

- `POST /v1/api-keys/generate` - Generate new API key
- `GET /v1/api-keys` - List user API keys
- `DELETE /v1/api-keys/:id` - Revoke API key

## Monitoring and Analytics

### Performance Monitoring

- **Web Vitals**: Core web vitals tracking
- **Real User Monitoring**: Performance data from actual users
- **Error Tracking**: Comprehensive error logging and alerting
- **Bundle Analysis**: Regular bundle size monitoring

### User Analytics

- **Conversion Tracking**: Authentication flow completion rates
- **Feature Usage**: Most used features and user journeys
- **Performance Metrics**: Page load times and user experience
Expand All @@ -328,6 +356,7 @@ This project is part of the ACTA ecosystem for verifiable credentials on Stellar
## Support

For questions, issues, or contributions:

- **GitHub Issues**: Technical problems and feature requests
- **Documentation**: Comprehensive guides and API reference
- **Community**: Join our developer community discussions
- **Community**: Join our developer community discussions
21 changes: 18 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions public/robots.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# robots.txt for acta.build
User-agent: *
Allow: /

# Sitemap
Sitemap: https://acta.build/sitemap.xml
Loading
Loading