A secure and modern password manager built with Next.js.
Lock Genius is a simple yet powerful password manager you need. Built with modern web technologies and security best practices.
- Social Login with GitHub
- Secure Password Generation
- Cryptographically secure random generation
- Customizable password options (length, character sets)
- Copy to clipboard functionality
- Health Check API
- Database Integration
- Password Vault Management
- Unit Testing
- Framework: Next.js 14 with App Router
- Database: PostgreSQL with Prisma ORM
- Authentication: NextAuth.js
- UI: Tailwind CSS, Radix UI
- Testing: Jest, React Testing Library
- Type Safety: TypeScript
- Code Quality: ESLint, Prettier
- API: Built-in Next.js API Routes
-
Install nvm (Node Version Manager):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash -
Install and use the correct Node.js version:
nvm install nvm use
-
Install pnpm:
npm install -g pnpm
-
Clone the repository:
git clone https://github.com/iguit0/lock-genius.git cd lock-genius -
Install dependencies:
pnpm install
-
Set up environment variables:
cp .env.example .env.local
-
Set up the database:
pnpm db:setup
-
Start the development server:
pnpm dev
Visit http://localhost:3000 to see the application running.
-
Database Management:
pnpm db:reset- Reset database (β οΈ Warning: This will delete all data)pnpm db:studio- Open Prisma Studio for database management
-
Testing:
pnpm test- Run testspnpm test:watch- Run tests in watch modepnpm test:coverage- Run tests with coverage report
-
Code Quality:
pnpm lint- Run ESLintpnpm lint:fix- Fix ESLint issues automaticallypnpm format:check- Check code formattingpnpm format:write- Format code automaticallypnpm typecheck- Run TypeScript type checking
-
Docker (if using Docker):
pnpm docker:up- Start Docker servicespnpm docker:down- Stop Docker servicespnpm docker:logs- View Docker logs
This project is licensed under the MIT License. Refer to the LICENSE file for more information.