Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qti3e/slye
3D presentation desktop application
https://github.com/qti3e/slye
application desktop-application presentation productivity threejs typescript
Last synced: about 1 month ago
JSON representation
3D presentation desktop application
- Host: GitHub
- URL: https://github.com/qti3e/slye
- Owner: qti3e
- License: mit
- Created: 2019-04-17T18:31:05.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T00:44:46.000Z (almost 2 years ago)
- Last Synced: 2024-05-29T19:04:15.435Z (7 months ago)
- Topics: application, desktop-application, presentation, productivity, threejs, typescript
- Language: TypeScript
- Homepage:
- Size: 13.2 MB
- Stars: 28
- Watchers: 3
- Forks: 0
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Slye
Slye is a desktop application which helps users to create 3D presentations.
| | | |
| ----------------------------- | ----------------------------- | ----------------------------- |
| | | |
| | | |# Demo
There is a [web demo](https://qti3e.github.io/slye/app.html) available if you
want to try it first.
(Not all of the functionalities are implemented in the demo.)## Directory structure
There are 3 main units in this project, `core`, `frontend` and `electron`.
Although we are using electron, we are not using node integration in our
frontend for security purposes and also we hope that one day we might be
able to use the exact code to target for web browser.### `core`
This directory contains all the abstractions and the internal API to deal with a
Slye presentation and modules.### `frontend`
User interface built using `React`, we are using Electron's IPC to communicate
between frontend and the electron land (A.K.A server) at the moment.## `electron`
Codes for the main process.
## Producing a release version
First build the app:
```
npx gulp
# To build for linux
npx gulp release:linux64
# To build for windows
npx gulp release:win32
```## Gulp tasks
| Task | Description |
| ----------------- | ------------------------------------------------------------- |
| clean | Remove the dist directory. |
| modules:slye | Build the default module. |
| modules | Runs `modules:slye`. |
| electron:main | Bundle electron's main process bundle. |
| electron:preload | Bundle electron's preload script. |
| electron:renderer | Bundle UI. |
| electron:icons | Copy icons to the `dist` directory. |
| electron | Runs `electron:*` |
| package:win32 | Creates a binary release for Win32 using Electron packager. |
| package:win32 | Creates a binary release for Linux64 using Electron packager. |
| web | Build the website and the web demo. |
| build:electron | Runs `clean`, `modules`, `electron` |
| build:web | Runs `clean`, `modules`, `web` |
| binary:all | Runs `build:electron` followed by `package:*` |
| deploy | Build and deploy the website |
| serve | Start a HTTP server on port 8080. |
| test:bundle | Bundle the test files. |
| test:run | Starts the tests. (server should be running) |
| test | Start server, build tests and run tests. |## TODO
- [ ] Documents
- [ ] End-user manuals
- [ ] Tests
- [ ] Templates## Contributions
Once you've cloned the repository locally you can start hacking.
```
git clone https://github.com/qti3e/Slye.git
cd Slye
# Install dependncies.
yarn
# Build preload and main process.
npx gulp
# Start the dev server. (Make sure port 1234 is free.)
yarn dev
```Sometimes `parcel` does not terminates and you have to kill it yourself:
```
kill $(ps aux | grep '[p]arcel' | awk '{print $2}')
```