Giter VIP home page Giter VIP logo

platy-desktop's Introduction

Getting Started with Create React App

This project was bootstrapped with Create React App.

Available Scripts

In the project directory, you can run:

yarn start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

yarn test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

yarn build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

yarn eject

Note: this is a one-way operation. Once you eject, you can’t go back!

If you aren’t satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

Learn More

You can learn more in the Create React App documentation.

To learn React, check out the React documentation.

platy-desktop's People

Contributors

guilleamutio avatar pabferir avatar dependabot[bot] avatar

Stargazers

Miguel Villa Floran avatar

Watchers

 avatar

platy-desktop's Issues

Containers Main Page

Acceptance criteria:

  • If there are no containers, a tool tip on how to run a container should appear.
  • Search bar.
  • Filter - Sort By.
  • Show all containers in the computer.

Open CLI

As a User, I want to open the containers in CLI from the application so that I can see what is included in the container.

Objective:
The aim of this US is to give functionality to the CRUD button of the container "Open in CLI".

Acceptance criteria:

  • To open the container in CLI, the container must be turned on.
  • STATUS icon will be displayed in blue
  • If the container is not on, the button corresponding to "open in CLI" will be disable
  • When clicked, a new cmd terminal opens placing the user inside the container (equivalent to a docker container exec -it <container label>).
  • The container id must be displayed

Engine Bar

Acceptance criteria:

  • Appears yellow when loading.
  • Appears red when shutdown.
  • Pop-up message when an error occurs.
  • Appears green when ready.

Status of a container

As a user I want the container status icon to be displayed with a colored guide for each status so that I can differentiate between the statuses.

Objective
The aim of this US is to indicate the status of the container by color.

Acceptance criteria:

  • The container status icon will be displayed in different colors depending on the status of the container.
  • The color guide depending on the status is as follows:
  1. Orange when loading/starting.
  2. Blue when running/working
  3. Red when an error in the container occurs.
  4. Grey when disabled/off/stopped

Open in browser

As a User, I want to open the containers in the browser from the application so that I can see what is included in the container.

Objective:
The aim of this US is to give functionality to the CRUD button of the container "Open in browser".

Acceptance criteria

  • To open the container in browser, the container must be running.
  • STATUS icon will be displayed in blue
  • To open a container in the browser, the container must have at least one port exposed.
  • The behavior with the browser will be as follows
  1. If the browser is not open, clicking on "Open in browser" will open the browser.
  2. If the browser is open, it opens in another tab directly.
  • In case the container is exposed to more than one port, the system must request the port from which the container is to be pulled.
  • If the container does not have an exposed port, the button corresponding to the "Open in browser" function will not appear

Remove (More actions)

Acceptance criteria:

  • When clicked, the image should be removed from the users computer and form the image table.

Apply & Restart Button

Acceptance criteria:

  • When clicked the new configuration added to the config file.
  • Disabled if there are no changes in the config file.

Docker Engine configuration file

Display the Docker Engine configuration file on the UI.

Acceptance criteria:

  • Config file visible in the UI.
  • User is able to modify the file.

Stop a running container

As a user I want to have the option to stop a container so that I can stop the container when I need to.

Objective
The aim of this US is to give functionality to the CRUD button of the "Stop running a container" container.

Acceptance criteria:

  • When a container is stopped, the status icon turns grey
  • When a container is stopped, only the following actions can be executed:
  1. Delete container
  2. Run container again (explained below)
  • The rest of the actions (CRUD of the container) cannot be executed. The corresponding icons/buttons should be shown disabled

2. Run container again

  • To run again the "stop running a container" button becomes a "run a container" button
  • When "run container" is pressed the container will be re-executed.

WSL integration

The user should be able to add the Docker engine inside the selected WSL.

Acceptance criteria:

  • List with the WSL in the users computer.
  • When a WSL is selected, the user should be able to use docker/platy commands inside the distro.

Delete a container

Acceptance criteria:

  • Remove the container from the users computer and from the container table.

Images table

Images table with the corresponding image information should be displayed in the UI.

Acceptance criteria:

  • Image name.
  • Image tag.
  • Image ID.
  • Creation date.
  • Image size.
  • Operating system.
  • Run button.

Navigation bar buttons

Create all the buttons/pages accessible from the navigation bar.

Acceptance criteria:

  • Buttons/Pages (Images, Containers, Settings...) appear in the navigation bar.
  • When clicked into a button/page in the navigation bar the corresponding page should open.

VPN functionality

Acceptance criteria:

  • Platy Desktop should work when connected to the VPN (Able to pull images and run containers).

Main Page

Main page for the images page.

Acceptance criteria:

  • Search bar.
  • Image counter.
  • Size counter.
  • Tool tip - What is an image.

More (3 points)

Acceptance criteria:

  • When clicked, display a pop-up with more functions.
  • Push button disabled.
  • Inspect button disabled.
  • Remove button

Insecure registries

Acceptance criteria:

  • Let the user specify insecure registries and add them into the Docker configuration file.

Run Image (Action)

Acceptance criteria:

  • When clicked in the run button change to the containers page.

Clean up button

Add a button to clean the selected items.

Acceptance criteria:

  • When clicked, checkboxes should appear next to the images in order to select the images that will be removed.
  • When clicked, two new buttons will appear (Cancel & Remove).
  • When the user selects the desired images and clicks on Remove, the images will be deleted from the computer and from the images table.

b2ef49ce-5244-44f5-8254-57a541b277dd

Restart Docker Daemon

Add a button in the General tab in the Settings page enabling the user to restart the Docker Daemon.

Acceptance criteria:

  • When clicked the Docker Daemon should restart.

Clear/Delete data button

Add a clear/delete data button in the General tab in the Settings page enabling the user to delete all the data.

Acceptance criteria:

  • When clicked all containers are deleted.
  • When clicked all images are deleted.
  • When clicked all volumes are deleted.

Logs Tab

Acceptance criteria:

  • When opened show the container logs.

Image filter

The user should be able to filter images from the images table.

Acceptance criteria:

  • Sort by (A-Z, Download date and OS).
  • Filter for "in use" (Show only images that are containerized).

Intuitive install & uninstall

Acceptance criteria:

  • Easy installation (Can be done in a few clicks).
  • Clean uninstall (Leaves the device as before installing platy).

Containers Table

As a user I want specific data to be displayed per container so that I have specific information.

Objective
Containers table with the corresponding image information should be displayed per container

Acceptance criteria:

  • The information should be displayed per container in tabular form
  • Each table will display the following information:
  1. Container name
  2. Container Status
  3. Operating system
  4. Port
  5. Image
  6. CRUD (available actions per container)
  • In the current US we will focus on developing the following:
  1. Container name must appear
  2. Status - only icon (functionality will be develop later)
  3. Operating system- the operating system used by the container must be displayed
  4. Port
  • The port used by the container must be displayed
  • In case there is more than one, it is shown in plural
  1. Image - only icon (functionality will be develop later)
  2. CRUD
  • The CRUD of a container are the following actions: open in browser, open in CLI, stop running a container, restart, delete container
  • Only the icons for each action should be shown (functionality will be develop later)

Run Image (Button & pop-up)

Acceptance criteria:

  • Pop-up asking for container creation data.
  • Optional fields - if they are not filled in, they will not appear in the container info.
  • Name filed - If not supplied, generate a random name.

Header

When clicked into a specific container a new page is opened.

Acceptance criteria:

  • Container info.
  • Go back button.
  • Logs tab.
  • Inspect tab - Disabled.
  • Stats tab - Disabled.
  • Actions (Run, Open CLI, Stop, Restart, Delete).

Restart WSL

Add a button in the General tab in the Settings page enabling the user to restart the WSL.

Acceptance criteria:

  • When clicked the WSL should restart.

View Downloaded images

When an image is downloaded it should be displayed in the images table.

Acceptance criteria:

  • Show table with downloaded images.
  • When a new image is downloaded it should appear on the table.

Actions (CRUD)

Acceptance criteria:

  • Same functionalities as in the container table.

Show containers

As a user I want the containers to be shown when I run them from the console so that I can see them and work with them.

Objective
The aim of this US is to display in Platy all the containers that exist in computer

Acceptance criteria:

  • Containers should be displayed on Containers main page. The events when a container is ran must be collected and show it on the containers main page.
  • Containers must be displayed as a list. Each time a new container is created, it shall be placed at the top of the list.
  • The order is independent of whether the container is running or not.
  • To be displayed in the list of containers on the main page, the container must have a name assigned to it. The names are assigned as follows:
  1. From the console when running the container
  2. In case it is not assigned from the console, a random name will be generated.
  • The assigned name will be the one shown as the name of the container.

Navigation bar expand option

Acceptance criteria:

  • When clicked the navigation bar should collapse if opened.
  • When clicked the navigation bar should expand if closed.

Dark mode

Acceptance criteria:

  • Platy desktop comes by default with dark mode.
  • Allow the user to change between light & dark mode in the General tab in Settings.

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.