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])
| 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:3000β Register a new account or use seeded credentials
π 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 π