A modern, responsive website for SSP Wallet - the secure, simple, and powerful cryptocurrency wallet featuring true 2-of-2 multisignature technology with mobile authentication.
- π¨ Modern Design: Beautiful, responsive UI with dark/light theme support and smooth animations
- β‘ Performance Optimized: Built with Next.js 15 + React 19, optimized images, and advanced code splitting
- βΏ Accessibility First: WCAG compliant with proper contrast, keyboard navigation, and screen reader support
- π SEO Excellence: Comprehensive meta tags, Open Graph, Twitter Cards, structured data, and sitemap
- π± Mobile Responsive: Flawless mobile experience with touch-friendly interactions
- π Interactive Demo: Built-in wallet setup demonstration with realistic transaction flow
- π Integrated Contact System: Working contact and support forms with email integration
- π οΈ Developer Experience: ESLint, Prettier, TypeScript ready with modern tooling
- Framework: Next.js 15 with React 19
- Styling: Tailwind CSS 4.x with custom design system
- Animations: Framer Motion for smooth interactions
- Icons: Lucide React for consistent iconography
- Theme: next-themes with system preference detection
- Forms: React Hook Form with validation and real-time error handling
- Images: Next.js Image component with WebP/AVIF optimization
- Code Quality: ESLint, Prettier, TypeScript support
- Performance: Intersection Observer API for lazy loading
-
Clone the repository
git clone https://github.com/RunOnFlux/ssp-website.git cd ssp-website
-
Install dependencies
npm install
-
Start development server
npm run dev
-
Open in browser Visit http://localhost:3000
Command | Description |
---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run start |
Start production server |
npm run lint |
Run ESLint checks |
npm run lint:fix |
Fix auto-fixable ESLint issues |
npm run format |
Format code with Prettier |
npm run format:check |
Check if code is formatted |
npm run type-check |
Run TypeScript checks |
npm run pre-commit |
Run lint fixes and formatting |
npm run check-all |
Run all checks (type, lint, format) |
- Extends: Next.js recommended, React best practices, accessibility rules
- Rules: Import ordering, unused variables, quote consistency
- Plugins: React, React Hooks, JSX A11y, Import, Prettier integration
- Style: Single quotes, no semicolons, trailing commas
- Integration: Tailwind CSS class sorting
- Line Length: 100 characters
- Indentation: 2 spaces
The project includes VS Code settings for optimal development experience:
- Format on save enabled
- ESLint auto-fix on save
- Recommended extensions list
- Tailwind CSS IntelliSense configuration
# Run before committing
npm run pre-commit
# Or run individual checks
npm run type-check
npm run lint
npm run format:check
ssp-website/
βββ components/ # React components
β βββ features/ # Feature sections (comparison, security, etc.)
β βββ home/ # Homepage components (hero, interactive demo)
β βββ InteractiveDemo/ # Wallet setup demonstration
β βββ Footer.js # Site footer with navigation
β βββ Header.js # Main navigation with theme toggle
β βββ Layout.js # Page layout wrapper
βββ pages/ # Next.js pages and API routes
β βββ api/ # Backend API endpoints
β β βββ contact.js # Contact form handler
β β βββ support.js # Support ticket handler
β βββ index.js # Homepage
β βββ features.js # Features showcase
β βββ guide.js # Setup guide
β βββ support.js # FAQ and support center
β βββ contact.js # Contact page
β βββ download.js # Download instructions
βββ public/ # Static assets
β βββ images/ # Optimized images and icons
β βββ sitemap.xml # SEO sitemap
β βββ robots.txt # Search engine directives
β βββ favicon files # Various icon formats
βββ styles/ # Global styles and Tailwind config
βββ package.json # Package config
βββ config files # Next.js, ESLint, Prettier, etc.
- Primary: Blue/Purple gradient theme
- Secondary: Complementary accent colors
- Neutral: Gray scale for text and backgrounds
- Status: Success (green), Warning (yellow), Error (red)
- Headings: Responsive scale with proper hierarchy
- Body: Optimized for readability across devices
- Code: Monospace font for technical content
- Responsive: Mobile-first design approach
- Consistent: Reusable component library
- Accessible: ARIA labels and keyboard navigation
- Animated: Smooth transitions with Framer Motion
- Connect your GitHub repository to Vercel
- Set build command:
npm run build
- Set output directory:
.next
- Deploy automatically on commits
npm run build
npm run start
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]
- Meta Tags: Dynamic titles, descriptions, and keywords for each page
- Open Graph: Rich social media previews with custom images
- Twitter Cards: Optimized sharing for Twitter/X platform
- Canonical URLs: Proper URL canonicalization to prevent duplicate content
- Structured Data: Schema.org markup for better search engine understanding
- Sitemap: Complete XML sitemap with proper priorities and update frequencies
- Robots.txt: Search engine crawling directives
- Next.js Image: Automatic WebP/AVIF conversion and responsive sizing
- Code Splitting: Automatic route-based and component-level splitting
- Lazy Loading: Intersection Observer for images and animations
- Bundle Optimization: Tree shaking and modern JS output
- Caching: Long-term caching for static assets (1 year)
- Core Web Vitals: Optimized for Google's performance metrics
- Contact Form: Real-time validation with email delivery to tadeas@sspwallet.io
- Support Form: Freshdesk ticket creation with comprehensive FAQ
- Error Handling: Graceful error states with retry functionality
- Security: Challenge headers and rate limiting protection
Create .env.local
for local development:
NEXT_PUBLIC_SITE_URL=http://localhost:3000
NEXT_PUBLIC_GA_ID=your-google-analytics-id
# Form endpoints (configured to use SSP Relay)
NEXT_PUBLIC_CONTACT_API=https://relay.ssp.runonflux.io/v1/contact
NEXT_PUBLIC_SUPPORT_API=https://relay.ssp.runonflux.io/v1/ticket
Customize theme in tailwind.config.js
:
- Colors, fonts, spacing
- Responsive breakpoints
- Custom utilities
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature
- Run quality checks:
npm run check-all
- Commit changes:
git commit -m 'Add amazing feature'
- Push to branch:
git push origin feature/amazing-feature
- Open Pull Request to RunOnFlux/ssp-website
Use conventional commits for automated changelog generation:
feat:
New featuresfix:
Bug fixesdocs:
Documentation updatesstyle:
Code style changesrefactor:
Code refactoringtest:
Test updateschore:
Build process or auxiliary tool changes
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.
The AGPL-3.0 license ensures that any modifications to this software, including those used in web services, remain open source and available to the community.
- π Homepage: Interactive demo, feature highlights, and getting started
- β¨ Features: Comprehensive feature comparison and security details
- π Guide: Step-by-step wallet setup with video tutorial
- π οΈ Download: Installation instructions for browser and mobile
- β Support: Extensive FAQ, community resources, and help center
- π Contact: Multiple contact methods and working contact form
- βοΈ Legal: Privacy policy, terms of service, and cookie policy
- π Website: https://sspwallet.io
- π Chrome Extension: SSP Wallet
- π± Mobile App: SSP Key (iOS & Android)
- πΎ GitHub: RunOnFlux Organization
- π¦ Twitter: @sspwallet_io
- π¬ Discord: Community Chat
- π Documentation: Complete Setup Guide
- β FAQ: Support Center with extensive Q&A
- π§ Contact: Get in Touch - Working contact form
- π« Support Tickets: Integrated Freshdesk ticketing system
- π Issues: GitHub Issues
- π₯ Community: Discord Server for real-time help
β
Fully Functional - All features implemented and tested
β
SEO Optimized - Complete meta tags, structured data, and performance
β
Forms Working - Contact and support forms with email integration
β
Mobile Ready - Responsive design tested across devices
β
Performance Optimized - Core Web Vitals and loading speeds optimized
β
Content Complete - Comprehensive information and user guides
Status: Ready for Production Deployment π
Built with β€οΈ by the RunOnFlux team