Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mariomac/codebuilder
Demo of an asynchronous app for long-response-time web services.
https://github.com/mariomac/codebuilder
Last synced: about 1 month ago
JSON representation
Demo of an asynchronous app for long-response-time web services.
- Host: GitHub
- URL: https://github.com/mariomac/codebuilder
- Owner: mariomac
- Archived: true
- Created: 2016-04-19T12:56:27.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-05-03T08:41:23.000Z (over 8 years ago)
- Last Synced: 2024-04-07T01:13:04.045Z (10 months ago)
- Language: JavaScript
- Homepage:
- Size: 4.73 MB
- Stars: 6
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- trackawesomelist - mariomac/codebuilder (⭐6) - Demo app about asynchronous architectures for long-response-time web applications. (Recently Updated / [Oct 28, 2024](/content/2024/10/28/README.md))
README
# Web code builder
Demo app about asynchronous architectures for long-response-time web applications.
It uses the next technologies:
* [Vertx.io](http://vertx.io) in the backend.
* [jQuery](http://www.jquery.com) and [Dropzonejs](http://www.dropzonejs.com/) in the frontend.
* [jEaSSE](https://github.com/mariomac/jeasse), my own backend implementation of Server-Sent Events for real time
message subscription from the frontend to the backend.
The backend is coded in [Kotlin](https://kotlinlang.org/), my brand-new favourite programming language :bowtie:## Quick demo
![Quick demo](codebuilder.gif)
## How to compile and use
1. Build the project with maven:
mvn package
2. Create a `config.properties` file that specifies your `M2_HOME` location, e.g.:m2.home=/home/user/.m2
3. Run the maven all-in-one jar package specifying the path to the configuration file:cd target/
java -Dconfig=path/to/config.properties -jar codebuilder.jar
4. Go to `http://localhost:8080/gui`, using `user` as both username and password in the login screen. You will see
the main screen of the application:![Main screen](sshot0.png)
5. Drag a .zip file to the blue box, which contains the Maven pom.xml in its root folder.
6. Click on the "start upload" button and the upload and building process. You will see the real-time output of the
process in the console:![Real time console](sshot1.png)
7. The result files will be automatically downloaded. You can also download them by using the "Download link" anchors
in the console.## TO DO
As this is only a demo project, many improvements would be required for a production environment:
- Provide a persistent authentication system (now for testing, user/password is hardcoded in memory)
- Pack multiple-produced artifacts (JARs, WARs...) into a single zip file to avoid security warnings in some browsers.Other tasks I will do in the near future:
- Document code
- Document design and architecture