EZTest is a lightweight, open-source test management platform built with Next.js and designed for self-hosting. It provides an efficient alternative to commercial tools like Testiny and TestRail, optimized to run on minimal hardware (1 CPU core, 2GB RAM). EZTest combines a modern UI with powerful test management capabilities, featuring project management, test organization, execution tracking, and team collaborationβall deployable with Docker.
π₯ New User? Check out the User Guide - a simple, non-technical guide explaining what EZTest is and how to use it.
Current Status: Active Development (v0.1.0)
Demo Site: eztest.houseoffoss.com
License: AGPL-3.0
Maintainers: Philip Moses ([email protected]), Kavin ([email protected])
Software used to be a tool you owned; today, itβs a subscription you rent.
Test management tools today are just glorified, overpriced spreadsheets. They charge $20 to $40 per user, per month for basic CRUD operations. A price that is no longer defensible in the age of AI Coding Agents.
EZTest was born out of that simple realization: If an AI agent costs $20/month and can build a software in no time, why pay $20/per/month just to rent one?
The goal isn't to reinvent the wheel. It's to break the cycle of mediocre, overpriced software.
We use Claude Code and Cursor to compress the cost of development to near-zero, and we are passing that "Efficiency Dividend" to the community.
| Feature | Status | Details |
|---|---|---|
| Authentication & Authorization | β Complete | Email/password auth, RBAC, permissions |
| User Management | β Complete | CRUD, team management, member roles |
| Modules | β Complete | Project organization, feature grouping |
| Test Suites | β Complete | Hierarchical organization For Execution |
| Test Cases | β Complete | Full CRUD, steps, priorities, statuses |
| Test Runs | β Complete | Execution tracking, results, progress monitoring |
| Test Results | β Complete | Multiple statuses, comments, duration tracking |
| File Attachments | β Complete | Direct S3 upload, up to 500MB, presigned URLs |
| Comments & Collaboration | β Complete | Discussions on Defect |
| Dashboard & Analytics | π§ In Progress | Basic metrics available |
| Requirements Traceability | π Planned | Link tests to requirements |
| API Integrations | π Planned | Jira, GitHub, Azure DevOps |
| Automation Integration | π Planned | CI/CD, test frameworks |
IMPORTANT: This project requires AWS S3 credentials for file attachments.
π Never commit real AWS credentials to the repository!
- β
.env.localis in.gitignoreand won't be committed - β
Use
.env.exampleas a template (contains placeholders only) - β For deployment, use environment variables or AWS IAM roles
- β Create a dedicated IAM user with S3-only permissions (see Attachments Documentation)
- β Rotate credentials immediately if accidentally exposed
Try EZTest with Docker - fastest way to get started!
Requirements: Docker & Docker Compose
# Clone the repository
git clone https://github.com/houseoffoss/eztest.git
cd eztest
# Configure environment
cp .env.example .env
# Edit .env with your settings
# Start the application
docker-compose up -d
# Initialize database
docker-compose exec app npx prisma db push
docker-compose exec app npx prisma db seed
# Open http://localhost:3000Default Admin Credentials :
- Email:
[email protected] - Password:
Admin@123456
π‘ You can also register a new account, or customize admin credentials by setting
ADMIN_EMAILandADMIN_PASSWORDenvironment variables before seeding.
π For production deployment and advanced configuration, see DOCKER.md
| Layer | Technology | Version |
|---|---|---|
| Framework | Next.js | 15.5.6 |
| UI Library | React | 19.1.0 |
| Language | TypeScript | 5.x |
| Styling | Tailwind CSS | 4.x |
| UI Components | Radix UI | Latest |
| Database | PostgreSQL | 16 |
| ORM | Prisma | 5.22.0 |
| Authentication | NextAuth.js | 4.24.11 |
| Password Hashing | bcryptjs | 3.0.2 |
| Nodemailer | 6.10.1 | |
| Validation | Zod | 4.1.12 |
| Icons | Lucide React | 0.546.0 |
| Deployment | Docker & Docker Compose | Latest |
| Specification | Minimum | Recommended | Production |
|---|---|---|---|
| CPU Cores | 1 | 2 | 4+ |
| RAM | 2GB | 4GB | 8GB+ |
| Storage | 10GB | 20GB | 50GB+ |
| Database | PostgreSQL 14+ | PostgreSQL 16 | PostgreSQL 16+ |
| Node.js | 18.x | 20.x | 20.x LTS |
Contributing to EZTest? Set up your local development environment.
Requirements: Node.js 18+, PostgreSQL 16
# Clone and install dependencies
git clone https://github.com/houseoffoss/eztest.git
cd eztest
npm install
# Configure environment
cp .env.example .env
# Update DATABASE_URL and other variables
# Start PostgreSQL (or use your own server)
docker-compose up -d postgres
# Set up database
npx prisma generate
npx prisma db push
npx prisma db seed
# Start dev server
npm run dev
# Open http://localhost:3000npm run dev # Start dev server with Turbopack
npm run build # Build for production
npm run lint # Check code quality
npx prisma studio # Visual database editor
npx prisma generate # Generate Prisma Client
npx prisma db push # Update database schema
npx prisma db seed # Add sample data- Make code/schema changes
- If schema changed:
npx prisma generate && npx prisma db push - Test at http://localhost:3000
- Run
npm run lint - Commit changes
π Full developer guide: Development Setup | Code Patterns
For Users:
- User Guide - Non-technical introduction
- Docker Deployment - Production setup
For Developers:
- Documentation Home - Complete documentation index
- Architecture - System design and patterns
- API Documentation - Internal API reference for developers
Planning:
- ROADMAP - Feature tracking and future plans
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following our code patterns
- Test thoroughly (ensure
npm run lintpasses) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow TypeScript best practices
- Use existing component patterns
- Write meaningful commit messages
- Update documentation for new features
- Ensure all linting passes before submitting PR
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
If you modify this software and run it as a network service, you must provide the complete corresponding source code to users of the service, as required by the AGPL.
See the LICENSE file for full details.
Copyright Β© 2025 Belsterns
Demo: eztest.houseoffoss.com
Documentation: /docs
Issues: Use GitHub Issues tab above
Maintainers:
- Philip Moses
- Email: [email protected]
- Organization: House of FOSS
- Kavin
- Email: [email protected]
- Organization: House of FOSS
Built with modern, open-source technologies:
- Next.js - React framework
- Prisma - Database ORM
- NextAuth.js - Authentication
- Radix UI - Accessible UI components
- Tailwind CSS - Utility-first CSS
- Lucide - Icon library
EZTest - Making test management accessible for everyone π




