Skip to content

Robotics academy Desktop App v2 #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 49 commits into from
Oct 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
1bee668
project initialize
codezerro Aug 7, 2024
b1bde12
adding tailwindcss
codezerro Aug 7, 2024
6659d6f
working on start screen
codezerro Aug 8, 2024
8c81233
working on start screen
codezerro Aug 8, 2024
c1541ef
working on start screen
codezerro Aug 10, 2024
d907516
working on child process and start screen
codezerro Aug 10, 2024
dc14762
working on running docker image in background
codezerro Aug 11, 2024
6cdfa86
update response interface
codezerro Aug 14, 2024
7b7b8e7
update footer link
codezerro Aug 14, 2024
a9dade7
working on top bar
codezerro Aug 14, 2024
0a824db
working on topbar and app closing dialog
codezerro Aug 15, 2024
7e87e2e
topbar complete
codezerro Aug 15, 2024
426ab9a
adding app close or stop radi confirm msg
codezerro Aug 16, 2024
bfc830a
split hooks and refactors, update ts
codezerro Aug 17, 2024
ac52c30
working on command settings
codezerro Aug 17, 2024
1a02e5c
working on command screen
codezerro Aug 18, 2024
c682033
working on settings screen command
codezerro Aug 18, 2024
f670180
update command settings
codezerro Aug 19, 2024
1322515
working on setting advance
codezerro Aug 19, 2024
b98e08a
update advance setting
codezerro Aug 20, 2024
2ca57b1
add robotics academy in iframe and working on setting s config
codezerro Aug 21, 2024
c2087eb
udpate on port increment
codezerro Aug 21, 2024
aebc18c
settings config first screen complete
codezerro Aug 22, 2024
860346d
update configure screen 2
codezerro Aug 23, 2024
178cee7
setting configure screen complete
codezerro Aug 23, 2024
c5a6cac
working on advance settings
codezerro Aug 24, 2024
8395ca4
working on advance screen first page
codezerro Aug 24, 2024
1adfb85
udpate advance settings and add port components
codezerro Aug 25, 2024
0c76311
settings complete,
codezerro Aug 25, 2024
0f01575
working on store data in setting command
codezerro Aug 27, 2024
f9d49c5
update store and use command
codezerro Aug 28, 2024
1197560
update settings command
codezerro Aug 29, 2024
37425a3
database initiliaze
codezerro Aug 29, 2024
e5d1482
config data initialized on installed
codezerro Aug 29, 2024
478edd1
data fetching complete in settings command
codezerro Aug 30, 2024
088f5f7
store data command setting
codezerro Aug 30, 2024
4aee9cf
update config port
codezerro Aug 31, 2024
d1711e9
advance settings complete
codezerro Aug 31, 2024
0675be6
dynamic url complete
codezerro Sep 1, 2024
a881060
update to prop-type and clean the code with comments
codezerro Sep 2, 2024
f83a6a3
add port only button state
codezerro Sep 2, 2024
c6c0914
update contributer name and remove old files
codezerro Sep 3, 2024
a2f4c34
update backgroun gif
codezerro Sep 3, 2024
9499e5b
update readme file
codezerro Sep 4, 2024
8a0198d
switch npm to yarn and update builder.yml for windows OS
codezerro Sep 13, 2024
a624521
fix window max min in widows os
codezerro Sep 13, 2024
bee6084
refresh db
codezerro Sep 13, 2024
889b628
update builder yml for windows and add license.txt
codezerro Sep 14, 2024
30afaf0
disable http cache
codezerro Oct 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
4 changes: 4 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules
dist
out
.gitignore
9 changes: 9 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
module.exports = {
extends: [
'eslint:recommended',
'plugin:react/recommended',
'plugin:react/jsx-runtime',
'@electron-toolkit/eslint-config-ts/recommended',
'@electron-toolkit/eslint-config-prettier'
]
}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,5 @@ typings/

# Electron-Forge
out/

old/
dist/
6 changes: 6 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
out
dist
pnpm-lock.yaml
LICENSE.md
tsconfig.json
tsconfig.*.json
4 changes: 4 additions & 0 deletions .prettierrc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
singleQuote: true
semi: false
printWidth: 100
trailingComma: none
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"compile-hero.disable-compile-files-on-did-save-code": false
}
15 changes: 8 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@ Welcome to the Robotics Academy Desktop project! We're excited to have you here

## Table of Contents

1. [Getting Started](#getting-started)
2. [Development Setup](#development-setup)
3. [Issues](#issues)
4. [Contributing Code](#contributing-code)
5. [Code of Conduct](#code-of-conduct)
6. [License](#license)
- [Contributing to Robotics Academy Desktop](#contributing-to-robotics-academy-desktop)
- [Table of Contents](#table-of-contents)
- [Getting Started](#getting-started)
- [Development Setup](#development-setup)
- [Issues](#issues)
- [Contributing Code](#contributing-code)
- [Code of Conduct](#code-of-conduct)

## Getting Started

Expand Down Expand Up @@ -41,7 +42,7 @@ To set up your development environment and get the Robotics Academy Desktop runn
5. Start the application:

```bash
npm start
npm run dev
```

6. Make changes and test your code.
Expand Down
77 changes: 56 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,77 @@
# RoboticsAcademy-Desktop
<a href="https://jderobot.github.io/"><img src="./resources/logo.gif" width="150" align="right" /></a>

## Table of Contents
# RoboticsAcademy Desktop: Learn Robotics, Artificial Intelligence and Computer Vision

### Table of Contents

- [About](#about)
- [Getting Started](#getting-started)
- [Usage](#usage)
- [Installation](#installation)
- [Development](#development)
- [Build](#build)
- [Contributing](#build)

## About

TThe Robotics-Academy Desktop Application is an application used for accessing the Robotics-Academy exercises on any platform, This has been built using Electron.js.
The Robotics-Academy Desktop Application is an application used for accessing the Robotics-Academy exercises on any platform, This has been built using Electron.js.
JdeRobot Academy is an open source platform that provides a collection of exercises for learning robotics in a practical way. RoboticsAcademy is completely ROS-based, and includes robotics standard tools like Gazebo and Rviz.

## Installation

### Prerequisites

## Getting Started
- [Node.js](https://nodejs.org/en)
- [npm](https://www.npmjs.com/)

TO BUILD AND USE THE APP USE THE FOLLOWING INSTRUCTIONS
### Steps

Install the packages using :
1. Clone the repository:

```console
npm install
```
git clone https://github.com/JdeRobot/RoboticsAcademy-Desktop.git
cd RoboticsAcademy-Desktop
```

Build the electron App using :
2. Install dependencies

```console
npm run make
```
npm install
```

3. Run the application

```
npm run start
```

After building a **out** folder will be created. Copy the **run.sh** from the **Script** folder and paste it into **out/electron**
### Development

Download and Paste the **Robotics-Academy tar.xz** into **out/electron/roboticsacademy**
#### Getting Started

## Usage
To start developing, follow the installation steps above, and then run the app in development mode:

To run the App do the following
1. Start the app in development mode:

```
cd out/electron...
cd script
chmod +x run.sh
./run.sh
npm run dev
```

### Build

- Linux (Ubuntu):
After successfully installing the dependencies. Run the

```
npm run build:linux
```

#### Build Package:

:round_pushpin: After successfully executing the build command, the target build package will be found in the :file_folder: **dist** folder.

:warning: You may need to install build dependencies for target package. [Learn more](https://www.electronjs.org/docs/latest/development/build-instructions-linux)

:black_nib: You can configure builder as your need. See [electron-builder.yml](./electron-builder.yml) file.

### Contributing

Take a look at the [contributing](./CONTRIBUTING.md) guide lines.
12 changes: 12 additions & 0 deletions build/entitlements.mac.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
</dict>
</plist>
Binary file added build/icon.icns
Binary file not shown.
3 changes: 3 additions & 0 deletions dev-app-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
provider: generic
url: https://example.com/auto-updates
updaterCacheDirName: roboticsacademy-updater
72 changes: 72 additions & 0 deletions electron-builder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
appId: com.roboticsacademy.app
productName: RoboticsAcademy
directories:
buildResources: build

buildDependenciesFromSource: true

extraResources:
- './splashscreen.html'
- 'resources/**'
- './roboticsacademy.db'
files:
- '!**/.vscode/*'
- '!src/*'
- '!electron.vite.config.{js,ts,mjs,cjs}'
- '!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}'
- '!{.env,.env.*,.npmrc,pnpm-lock.yaml}'
- '!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}'
asarUnpack:
- resources/**
win:
executableName: RoboticsAcademy
requestedExecutionLevel: requireAdministrator
target:
- nsis
icon: resources/icons/icon.ico
nsis:
artifactName: ${name}-${version}-setup.${ext}
shortcutName: ${productName}
uninstallDisplayName: ${productName}
installerLanguages:
- en
- es
createDesktopShortcut: true
displayLanguageSelector: true
createStartMenuShortcut: true
allowToChangeInstallationDirectory: true
oneClick: false
perMachine: false
installerIcon: resources/icons/icon.ico
uninstallerIcon: resources/icons/icon.ico
installerHeaderIcon: resources/icons/icon.ico
license: license/license_en_US.txt

mac:
entitlementsInherit: build/entitlements.mac.plist
extendInfo:
- NSCameraUsageDescription: Application requests access to the device's camera.
- NSMicrophoneUsageDescription: Application requests access to the device's microphone.
- NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder.
- NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder.
notarize: false
dmg:
artifactName: ${name}-${version}.${ext}
linux:
icon: resources/icons/icon.icns
desktop:
Type: 'Application'
Encoding: 'UTF-8'
Name: 'Robotics Academy'
target:
- deb
maintainer: https://jderobot.github.io/RoboticsAcademy/
category: Utility
appImage:
artifactName: ${name}-${version}.${ext}
npmRebuild: false
publish:
provider: generic
url:
electronDownload:
mirror:
23 changes: 23 additions & 0 deletions electron.vite.config.1723371720494.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// electron.vite.config.ts
import { resolve } from "path";
import { defineConfig, externalizeDepsPlugin } from "electron-vite";
import react from "@vitejs/plugin-react";
var electron_vite_config_default = defineConfig({
main: {
plugins: [externalizeDepsPlugin()]
},
preload: {
plugins: [externalizeDepsPlugin()]
},
renderer: {
resolve: {
alias: {
"@renderer": resolve("src/renderer/src")
}
},
plugins: [react()]
}
});
export {
electron_vite_config_default as default
};
23 changes: 23 additions & 0 deletions electron.vite.config.1724091239149.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// electron.vite.config.ts
import { resolve } from "path";
import { defineConfig, externalizeDepsPlugin } from "electron-vite";
import react from "@vitejs/plugin-react";
var electron_vite_config_default = defineConfig({
main: {
plugins: [externalizeDepsPlugin()]
},
preload: {
plugins: [externalizeDepsPlugin()]
},
renderer: {
resolve: {
alias: {
"@renderer": resolve("src/renderer/src")
}
},
plugins: [react()]
}
});
export {
electron_vite_config_default as default
};
20 changes: 20 additions & 0 deletions electron.vite.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { resolve } from 'path'
import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
main: {
plugins: [externalizeDepsPlugin()]
},
preload: {
plugins: [externalizeDepsPlugin()]
},
renderer: {
resolve: {
alias: {
'@renderer': resolve('src/renderer/src')
}
},
plugins: [react()]
}
})
43 changes: 0 additions & 43 deletions forge.config.js

This file was deleted.

1 change: 1 addition & 0 deletions license/license_en_US.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Welcome to Robotics Academy!
Loading