Life's messy. Your passwords don't have to be.
A modern, secure password management and generation web application built with Next.js, TypeScript, and Tailwind CSS. Cryptica provides powerful password generation, strength analysis, encryption tools, and more - all wrapped in a beautiful, responsive Progressive Web App (PWA).
- Multiple Strength Levels: Generate passwords from Very Weak to Very Strong
- Custom Character Sets: Define your own character sets for specialized needs
- AI-Powered Generation: Use OpenAI integration for creative, memorable passwords
- Preset System: Save and reuse password generation configurations
- Bulk Generation: Generate up to 50 passwords at once
- Real-time Strength Assessment: Instant feedback on password security
- Entropy Calculation: Advanced cryptographic strength measurement
- Character Distribution: Detailed breakdown of password composition
- Time-to-Crack Estimation: Understand how long it would take to brute force
- Visual Strength Indicators: Color-coded strength meters
- Multiple Algorithms: Support for various encryption standards
- Text Encryption/Decryption: Secure your sensitive information
- Key Generation: Generate secure encryption keys
- Algorithm Selection: Choose the right encryption for your needs
- Offline Capability: Works without internet connection
- Installable: Add to home screen on any device
- Responsive Design: Optimized for desktop, tablet, and mobile
- Fast Loading: Optimized performance with Next.js 15
- Multi-language Support: English, French, and German
- RTL Support: Ready for right-to-left languages
- Localized Content: All features available in multiple languages
- Dark/Light Themes: Automatic theme switching with system preference
- Activity Tracking: Monitor your password generation history
- Settings Persistence: Your preferences saved locally
- Keyboard Navigation: Full accessibility support
- Screen Reader Friendly: WCAG compliant
- Node.js 18+ or Bun
- Git
-
Clone the repository
git clone https://github.com/your-username/cryptica-site.git cd cryptica-site -
Install dependencies
# Using npm npm install # Using yarn yarn install # Using bun (recommended) bun install
-
Run the development server
# Using npm npm run dev # Using yarn yarn dev # Using bun bun dev
-
Open your browser Navigate to http://localhost:3000
cryptica-site/
├── app/ # Next.js App Router pages
│ ├── activity/ # Activity tracking
│ ├── breaches/ # Breach checking
│ ├── encryption/ # Encryption tools
│ ├── generate/ # Password generation
│ ├── presets/ # Password presets
│ ├── settings/ # User settings
│ └── strength/ # Password strength analysis
├── components/ # React components
│ ├── ui/ # Reusable UI components
│ └── ... # Feature-specific components
├── hooks/ # Custom React hooks
├── lib/ # Utility functions and core logic
├── messages/ # Internationalization files
├── public/ # Static assets
└── types/ # TypeScript type definitions
# Development
npm run dev # Start development server with Turbopack
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
# Using bun (faster)
bun dev # Start development server
bun build # Build for production
bun start # Start production serverThe project uses several tools to maintain code quality:
- ESLint: Code linting with Next.js and TypeScript rules
- Prettier: Code formatting with import sorting
- TypeScript: Static type checking
- EditorConfig: Consistent editor settings
- Create new pages in the
app/directory - Add components in the
components/directory - Create hooks in the
hooks/directory - Add utilities in the
lib/directory - Update translations in
messages/directory
Customize password generation behavior in the settings:
- Character Sets: Define custom character sets
- Default Length: Set preferred password length
- Strength Levels: Configure strength thresholds
- AI Integration: Enable/disable OpenAI features
The app is configured as a Progressive Web App with:
- Manifest: App metadata and icons
- Service Worker: Offline functionality
- Installation: Add to home screen capability
- Themes: Dark/light mode support
Add new languages by:
- Creating a new file in
messages/(e.g.,es.json) - Adding the locale to
i18n/config.ts - Translating all keys from
en.json
- Connect your GitHub repository to Vercel
- Configure environment variables
- Deploy automatically on push to main branch
The app can be deployed to any platform that supports Next.js:
- Netlify: Automatic deployment from Git
- Railway: Simple deployment with database support
- Docker: Containerized deployment
- Self-hosted: Traditional server deployment
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style
- Use TypeScript for all new code
- Add tests for new features
- Update documentation as needed
This project is licensed under the AGPL License - see the LICENSE file for details.
- Next.js Team: For the amazing framework
- Tailwind CSS: For the utility-first CSS framework
- Radix UI: For accessible component primitives
- Vercel: For hosting and deployment
- OpenAI: For AI-powered password generation
- Discord: discord.gg/bka49hEnhw
- Documentation: crypticapp.org/docs
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@crypticapp.org
- Website: crypticapp.org
- Documentation: crypticapp.org/docs
- GitHub: github.com/CrypticaOSS/cryptica-site
- Twitter: @crypticaapp
- Discord: discord.gg/bka49hEnhw
Made with ❤️ by the Cryptica Team