Duely is a small powerful tool to generate multiple recurring appointments and filter national holidays. Because no one needs a business meeting on an national holiday. The Duely will give a out a iCalendar standardized files, which will be compatible with all general used calendar programs.
This project was generated with Angular CLI version 1.0.0. We created the server based Duely for mobile devices and desktop PC. The design is responsive and easy to use. For Desktop PC we also make a Program available, which is run with electron. Duely uses the iCal-Standard to secure the same options as Outlook.
For Duely to be able to be build on your device you need the following steps :
These are the necessary steps to start the application for the first time Before the install these programs are required :
- Nodejs (min. v8.10.0) - make sure npm(v5.7.1) does install with it
- Python (min v2.7) All other libraries are automatically downloaded and installed from the package manager.
For the electron application the following OS are supported:
- Windows 7
- Windows 10
- macOS Sierra
- Ubuntu (16.04.2 )
- Linux Mint (18.1 )
- Scientific Linux (7.3)
For the server application the following browser are supported:
- Chrome (LTS)
- Firefox (LTS)
- Opera (LTS)
- Safari (LTS)
- iOS Safari (LTS)
- Android Chrome (LTS)
- Android Firefox (LTS)
1. Download the application
2. Execute `npm install` to install dependencies
3. Execute `npm run build` to compile source code
4. Start the application via `npm run start:server` to view the webapplcation or `npm run start:electron` to run the electron app
5. if you started the server application type `http://localhost:8000`in your browser window.
Command | Action |
---|---|
build |
Compile the source code for Electron and web use` |
build:prod |
Build the source code in production mode |
build:watch |
Build the source code and watch for changes |
build:electron |
Build the Electron code only |
build:electron:prod |
Build the Electron code in production mode |
build:server |
Build the server code only |
build:server:prod |
Build the server code in production mode |
clean |
Remove local files and unneeded dependencies |
doc |
Generate documentation from comments |
e2e |
Run end to end tests |
lint |
Check format of source code |
package |
Package the Electron app for working system |
package:linux |
Package the Electron app for Linux x64 |
package:linux:32 |
Package the Electron app for Linux x32 |
package:mac |
Package the Electron app for Mac OS x64 |
package:mac:32 |
Package the Electron app for Mac OS x32 |
package:win |
Package the Electron app for Windows x64 |
package:win:32 |
Package the Electron app for Windows x32 |
package:all |
Package the Electron app for all x64 systems |
package:all:32 |
Package the Electron app for all x32 systems |
selenium |
Boot a selenium server for e2e tests |
start:server |
Start the Node.js server |
start:electron |
Start the Electron app |
When making changes to the source code make sure to run npm run build
afterwards
in order to apply the changes to your local copy.
You can execute npm run build:watch
instead. This will not only apply previous edits
but also watch for file changes. Do not close the terminal until you are done. You can cancel the
command by pressing Ctrl + C twice.
If you run into problems with files that should have updated, try running npm run clean and then
npm run build to remove outdated files and start on a fresh base.
Command | Action |
---|---|
test |
Run unit tests using PhantomJS |
test:chrome |
Run unit tests using Chrome |
test:chrome:dev |
Run unit tests using Chrome Canary |
test:firefox |
Run unit tests using Firefox |
test:firefox:dev |
Run unit tests using Firefox Developer Edition |
test:opera |
Run unit tests using Opera |
test:safari |
Run unit tests using Safari |
verify |
Run test , lint and e2e for validation |
Before you can deploy the application you will need to build it for production mode.
Use npm run build:prod
to do so. The :prod appendix will enable truncating and bundling the code
to minimize the file size.
The Electron app will need to be packaged into an executable file as well.
Utilize npm run package:all
to create binaries for all supported operating systems
with x64 architecture. For x32 architecture run npm run package:all:32
. You can also target
individual systems by writing npm run package:linux
. Replace linux with win or mac
appropriately. For x32 architectures append :32 to the command.
You can also use npm run package
without any parameters to build binaries for your own operating
system. This should only be used for testing as the files will not be bundled and will not come
with an installer.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use Git for versioning. For the versions available, see the tags on this repository.
Packages that are to stay on this versions:
"bootstrap": "^3.3.7",
"@types/jasmine": "2.5.38",
"@types/node": "^6.0.80",
"awesome-typescript-loader": "^3.2.1",
"extract-text-webpack-plugin": "^2.1.2",
"postcss-loader": "^0.13.0",
"postcss-url": "^5.1.2",
"typescript": "^2.4.0",
"webpack": "^2.6.1",
"webpack-dev-server": "~2.3.0"
- Till Affeldt
- Marlen Bernier
- Mike Kenneth Braun
- Frederik Kammer
- Lars Richard
The implementation of timezones is not conform to the iCal standard specified in "RFC 5545 3.2.19. Time Zone Identifier"
as the utilized library "ical-generator" makes use of the non-standard Timezone-ID
instead of VTIMEZONE
in order
to support older versions of Microsoft Outlook.
Many thanks for H. Eggers for kicking our buts when we where too slow.