GithubHelp home page GithubHelp logo

pixeleye-io / pixeleye Goto Github PK

View Code? Open in Web Editor NEW
68.0 0.0 3.0 82.53 MB

The batteries-included platform for visually testing and reviewing your UI; it's even self-hostable! Connect your codebase with our many integrations and dramatically increase your test coverage in minutes.

Home Page: https://pixeleye.io/home

License: GNU Affero General Public License v3.0

Go 21.55% JavaScript 0.69% CSS 2.04% TypeScript 54.88% Dockerfile 0.09% HCL 1.23% HTML 19.43% Jsonnet 0.05% Shell 0.04%
open-source self-hosted visual-regression visual-testing visual-reviewing testing-framework

pixeleye's Introduction

Pixeleye

The batteries-included platform for visually testing and reviewing your UI; it's even self-hostable! Connect your codebase with our many integrations and dramatically increase your test coverage in minutes.


Pixeleye reviewer

Why Pixeleye

Pixeleye provides a seamless experience for visually testing and reviewing your UI. Unlike raw code, UI should be primarily reviewed visually. We built Pixeleye to allow developers, designers, and product managers to review UI changes effectively and efficiently; we'll also detect unintended visual side effects.

Features

  • Multi-Browser Testing: We support all major browsers. When capturing screenshots, we run a background process to render and capture across all browsers.

  • Clean git repo: Unlike alternatives, we don't store your comparisons directly in the git repo. We keep your commits clean and avoid scenarios where failing tests are lazily approved with a hand-wavy command

  • Self-Hostable: You can host pixeleye on your infrastructure. We provide a docker-compose file to get you started. read more

  • Responsive Testing: We also support different device sizes and browsers. You can capture screenshots for mobile, tablet, and desktop.

  • Permission syncing: Already set up your team's permissions in Github? We'll sync and match them in Pixeleye. learn more

  • Integration with your codebase: We provide many official integrations to connect your codebase with Pixeleye, be it Storybook, Cypress, Playwright, Puppeteer or more

  • Light and Dark themes: Do we need to justify this? ๐Ÿ˜‚ Our founder's first open-source project was a collection of animated theme toggles

  • Simple and powerful review process: Pixeleye boasts an excellent review experience, from our superb web app to VCS integration. Have a go with our playground

Why use Pixeleye Cloud? (hint: it's not just our fair pricing)

The best way to use Pixeleye is through our cloud offering. Plus, by using our service, you'll promote a sustainable open-source ecosystem and support us in developing and improving our open-source offerings.

Benefits of Pixeleye Cloud:

  • Fiar usage-based pricing We firmly believe you should only pay for what you use. Checkout our pricing
  • Minimal setup Get started in minutes. Why spend time setting up our project when you can be using it instead!
  • High availability, Backups, Security, automatic maintenance We manage the infrastructure whilst you manage your UI
  • Latest features Our Cloud follows a rolling release cycle, whereas our official self-hosted releases are more long-term. Enjoy our latest features with Cloud!
  • Premium support We offer fantastic support for our Cloud customers. While we'll fix any bugs you find self-hosting, we can't help you with onboarding or setup.

Want to get started? Head over to our website to begin.

Self-hosting

The easiest way to self-host Pixeye is with Docker. Check out our guide to get started quickly.

Our Docker images follow a stable release pattern, whereas our Cloud follows a rolling release cycle. The latest features/bug fixes may not yet be present in our docker images. We follow this pattern to reduce the overhead of constantly requiring you to update your infra whilst ensuring we only ship stable products. We don't have dates for our releases, but they typically come after new features are stable or significant security issues arise.

Required services

Whilst Pixeleye at its core consists of 2 systems, frontend & backend, we require quite a few other systems to get everything working.

  • Rabbitmq
  • Ory Kratos
  • Postgres
  • S3 compatible storage (MinIO recommended)
  • SMTP server

We also have our docker image to handle database migrations automatically.

You can find all the relevant files along with a docker-compose file here: self-hosted docker files. We don't take any responsibility for your data or infrastructure.

Contributing

We welcome all contributions! Be it fixing a bug, helping with a feature, suggesting ideas or even writing about us in your blog.

For more info, please check out our contributing guide.

Disclosing security issues

If you think you've found a security vulnerability, please refrain from posting it publicly on the forums, the chat, or GitHub. You can find all the info for responsible disclosure in our SECURITY.md

pixeleye's People

Contributors

alfiejones avatar github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pixeleye's Issues

Email verification

Users shouldn't be allowed to do anything until they've verified their email.
Users should be able to re-request a validation email

Last build data

Add the last build timestap to builds when fetched from the projects api

Clean auth ui

ID should become Email on login screen.
Should hide all the extra fields when registering

Puppeteer integration

Create a simple integration with puppeteer.

This will be the first integration with pixeleye so a lot of work will be required to ensure all the ground work is built out

Auto approve branches

We should allow users to speicify a list (maybe with regex) of branches which should always have changes approved

Sync github team members

Sync github team members with linked accounts on pixeleye.

As a user, I should see any Pixeleye teams linked to github if I'm a member of that github team

Light theme

We need to pick the css colors for our light theme

Build Approval API Tests

Add the api tests for each of the build approval endpoints:

/builds/{id}/review/approve
/builds/{id}/review/reject
/builds/{id}/review/approve/all
/builds/{id}/review/reject/all

Sync users teams

Currently we sync team members but not the other way around. So if a user signs up, they won't initally see their teams.

Link/Unlink github account

A user should be able to link/unlink an existing github account if not used for signup (limited to 1).

Ory has an api for this which we can use. We'll also need to remember to update our database records with the github id.

Custom git project

A user should be able to create a custom git project. We should just require the url to the project and a name

Github syncing improvements

We need to ensure that syncing works with our project invite system.

Users already invited to a team should be marked as a git type but have their role syncing turned off. Same should happen for projects. We want them to maintain current roles.

Users invited to projects but removed from github should remain in the team but as an invited member only.

Create comfirmation promt

We need a comfirmation promt.

It should have two levels, once which requires the user to enter some text, and another which is just a yes or no.

We should implement it into removing a user from project & team, deleting a project

Improve Build processing api tests

Now that we can approve/reject snaphots, we should improve our build processing api tests to include a combination of approved/rejected snapshots

Cancel builds

In the ui, a user should be able to cancel a build. This would act as a final failsafe if we have stuck builds

Delete user

A user should be able to delete themselves. The api's for this should be mostly done

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.