mirror of
https://github.com/Febbweiss/febbweiss.github.io.git
synced 2026-03-05 06:35:50 +00:00
Initial commit
This commit is contained in:
53
docs/development/cloudbudget.md
Normal file
53
docs/development/cloudbudget.md
Normal file
@@ -0,0 +1,53 @@
|
||||
#Introduction [![Build Status][build-image]][build-url] [![Coverage Status][coverage-image]][coverage-url]
|
||||
Cloudbudget is a work-in-progress online Money-like application.
|
||||
|
||||
It's written using ExpressJS and provided only REST services. The web interface is in a different project [CloudBugdet-AngularJS](/development/cloudbudget_angularjs).
|
||||
|
||||
##Requirements
|
||||
CloudBudget needs a Mongo database. Database configuration is done in the _config/db.js_ file.
|
||||
|
||||
The environment mode is defined by the environment variable NODE_ENV.
|
||||
|
||||
##Features
|
||||
The following features are developed:
|
||||
|
||||
* API security done with JWT
|
||||
* API documentation
|
||||
* User log on / log in
|
||||
* User deregistration
|
||||
* Bank account CRUD
|
||||
* Bank accounts listing
|
||||
* Deposit / Bill entry CRUD
|
||||
* Deposit / Bill entries listing
|
||||
|
||||
##Usage
|
||||
To initialize the application, install all dependencies with
|
||||
```
|
||||
npm install
|
||||
```
|
||||
|
||||
To launch CloudBudget, use the following command :
|
||||
```
|
||||
NODE_ENV=development node app.js
|
||||
```
|
||||
|
||||
If the PORT environment variable is set, it will be used, if not, the default port is 3000.
|
||||
The server configuration is done with the _config/server.js_ file.
|
||||
|
||||
##API documentation
|
||||
The root URL is linked to the API documentation.
|
||||
The API documentation is generated with apidocs into the _public_ folder. To generate it, use the following command :
|
||||
```
|
||||
npm run-script generate-doc
|
||||
```
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.min.css" />
|
||||
<!--[if lt IE 9]>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.ie.min.css" />
|
||||
<![endif]-->
|
||||
<a class="github-fork-ribbon" href="https://github.com/Febbweiss/CloudBudget" target="_blank" title="Fork me on GitHub">Fork me on GitHub</a>
|
||||
|
||||
[build-image]: https://travis-ci.org/Febbweiss/CloudBudget.svg?branch=master
|
||||
[build-url]: https://travis-ci.org/Febbweiss/CloudBudget
|
||||
[coverage-image]:https://coveralls.io/repos/Febbweiss/CloudBudget/badge.svg?branch=master&service=github
|
||||
[coverage-url]: https://coveralls.io/github/Febbweiss/CloudBudget?branch=master
|
||||
35
docs/development/cloudbudget_angularjs.md
Normal file
35
docs/development/cloudbudget_angularjs.md
Normal file
@@ -0,0 +1,35 @@
|
||||
#Introduction [![Build Status][build-image]][build-url] [![Coverage Status][coverage-image]][coverage-url]
|
||||
Cloudbudget-AngularJS is a work-in-progress web application for [CloudBugdet](/development/cloudbudget) written in AngularJS.
|
||||
|
||||
##Requirements
|
||||
CloudBudget-AngularJS needs a running CloudBudget instance. The access to this instance is set in the _public/js/app.js_ file with the _HOST_ variable.
|
||||
|
||||
|
||||
##Features
|
||||
This web application covers all CloudBudget features.
|
||||
|
||||
##Usage
|
||||
To initialize the application, install all dependencies with
|
||||
```
|
||||
npm install
|
||||
```
|
||||
|
||||
To launch CloudBudget, use the following command :
|
||||
```
|
||||
NODE_ENV=development node app.js
|
||||
```
|
||||
|
||||
If the PORT environment variable is set, it will be used, if not, the default port is 3000.
|
||||
The server configuration is done with the _config/server.js_ file.
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.min.css" />
|
||||
<!--[if lt IE 9]>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.ie.min.css" />
|
||||
<![endif]-->
|
||||
<a class="github-fork-ribbon" href="https://github.com/Febbweiss/CloudBudget-AngularJS" target="_blank" title="Fork me on GitHub">Fork me on GitHub</a>
|
||||
|
||||
[build-image]: https://travis-ci.org/Febbweiss/CloudBudget-AngularJS.svg?branch=master
|
||||
[build-url]: https://travis-ci.org/Febbweiss/CloudBudget-AngularJS
|
||||
[coverage-image]:https://coveralls.io/repos/Febbweiss/CloudBudget-AngularJS/badge.svg?branch=master&service=github
|
||||
[coverage-url]: https://coveralls.io/github/Febbweiss/CloudBudget-AngularJS?branch=master
|
||||
33
docs/development/filebrowser_durandal_widget.md
Normal file
33
docs/development/filebrowser_durandal_widget.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Durandal Filebrowser widget
|
||||
|
||||
## What's this widget ?
|
||||
|
||||
This [Durandal](http://durandaljs.com/) widget allows to display a folder tree and add some actions to manipulate this items :
|
||||
|
||||
- A clic on a file or folder selects it
|
||||
- A double-clic opens / closes a folder
|
||||
- A double-clic displays the file content in the editor
|
||||
- A right-clic opens a context menu with different options
|
||||
- Rename the item
|
||||
- Copy the selected item(s)
|
||||
- Paste the selected item(s)
|
||||
- Create an item (in a folder)
|
||||
- Delete an item (and its components)
|
||||
|
||||
##Demo
|
||||
<object data="/demo/filebrowser-durandal-widget/index.html" width="800" height="600">
|
||||
<embed src="/demo/filebrowser-durandal-widget/index.html" width="800" height="600"> </embed>
|
||||
<iframe scrolling="no" frameborder="0" src="/demo/filebrowser-durandal-widget/index.html" style="width: 800px; height: 600px; overflow:hidden;">
|
||||
</iframe>
|
||||
</object>
|
||||
|
||||
##Licence
|
||||
|
||||
Source code is under [MIT Licence](http://opensource.org/licenses/mit-license.php)
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.min.css" />
|
||||
<!--[if lt IE 9]>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.ie.min.css" />
|
||||
<![endif]-->
|
||||
<a class="github-fork-ribbon" href="https://github.com/Febbweiss/filebrowser-durandal-widget" target="_blank" title="Fork me on GitHub">Fork me on GitHub</a>
|
||||
25
docs/development/project_deployer.md
Normal file
25
docs/development/project_deployer.md
Normal file
@@ -0,0 +1,25 @@
|
||||
#Introduction
|
||||
ProjectDeployer is a work-in-progress web application to deploy Git projects on a server written with Meteor.
|
||||
|
||||
##Features
|
||||
In ProjectDeployer, it's possible to :
|
||||
|
||||
* register / modify / delete Git project
|
||||
* deployment is
|
||||
* see deployment logs for each project
|
||||
|
||||
##Usage
|
||||
The location for deployed projects is set in the _server/constants.js_ file with the _DEPLOYMENT_FOLDER_ variable.
|
||||
|
||||
To launch ProjectDeployer, use the following command :
|
||||
```
|
||||
meteor --port $IP:$PORT
|
||||
```
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.min.css" />
|
||||
<!--[if lt IE 9]>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.ie.min.css" />
|
||||
<![endif]-->
|
||||
<a class="github-fork-ribbon" href="https://github.com/Febbweiss/ProjectDeployer" target="_blank" title="Fork me on GitHub">Fork me on GitHub</a>
|
||||
|
||||
155
docs/development/springboot_react_webpack.md
Normal file
155
docs/development/springboot_react_webpack.md
Normal file
@@ -0,0 +1,155 @@
|
||||
# springboot-react-webpack
|
||||
A demo project with Spring Boot, React and Webpack
|
||||
|
||||
This project includes :
|
||||
|
||||
* Spring Boot as backend resource
|
||||
* React as client JS framework
|
||||
* webpack to translate JSX to JS and manage client resources link
|
||||
* maven-release-plugin
|
||||
* cf-maven-plugin
|
||||
* docker-maven-plugin (from Spotify)
|
||||
|
||||
## Profile
|
||||
|
||||
There are 3 profiles :
|
||||
|
||||
* the default one (without specification) is for development mode.
|
||||
* _production_ used to generate the production ready client resources
|
||||
* _docker_ to access to the Docker plugin and generate an image
|
||||
|
||||
## Launching
|
||||
|
||||
To launch this project, just use the following command line :
|
||||
|
||||
In development mode :
|
||||
```
|
||||
mvn clean spring-boot:run
|
||||
npm run watch
|
||||
```
|
||||
In production mode :
|
||||
```
|
||||
mvn clean spring-boot:run -P production
|
||||
```
|
||||
Without a profile, you have to run the webpack watcher to deliver client resources. With the _production_ profile, no needs to launch the wepback watcher.
|
||||
|
||||
## Configuration
|
||||
To use the CloudFoundry and Release plugins, the _settings.xml_ must contains the following lines :
|
||||
|
||||
```xml
|
||||
<servers>
|
||||
<server>
|
||||
<id>cloudfoundry</id>
|
||||
<username>username</username>
|
||||
<password>password</password>
|
||||
</server>
|
||||
<server>
|
||||
<id>github</id>
|
||||
<username>username</username>
|
||||
<password>password</password>
|
||||
</server>
|
||||
</servers>
|
||||
```
|
||||
|
||||
## Spring Boot
|
||||
|
||||
Spring Boot is used as the backend server. It provides the HTML pages and the REST endpoints.
|
||||
React is server side compiled at runtime using nashorn.
|
||||
|
||||
## React
|
||||
|
||||
React is the client side library. It's possible to write JSX which will be translate by webpack.
|
||||
|
||||
|
||||
## Webpack
|
||||
|
||||
### Configuration
|
||||
|
||||
Webpack configuration is done by the _webpack.config.js_ file at the project's root.
|
||||
|
||||
### Usage
|
||||
|
||||
Webpack is launched at the _generate-resources_ maven phase.
|
||||
In this configuration, webpack provides resources (JS and CSS) for commons librairies and custom JS scripts. It takes in account LESS. The HTML final resource is generated from a template adding the needed resources.
|
||||
Using the default profile and the watcher, the HotModuleReplacement module is activated, so no need to refresh the page when updating a JS or a CSS, webpack does it.
|
||||
|
||||
|
||||
## Plugin release
|
||||
|
||||
### Configuration
|
||||
|
||||
To manage the release process with Git, you have to replace the link in the _developerConnection_ tag with the Git project URL.
|
||||
|
||||
### Usage
|
||||
|
||||
The _maven-release-plugin_ allows to release an app tagging the repository. A release is :
|
||||
* changing from SNAPSHOT to stable
|
||||
* creating a tag (locally and remotely)
|
||||
* increasing the SNAPSHOT version
|
||||
|
||||
Two steps :
|
||||
```
|
||||
mvn release:prepare
|
||||
mvn release:perform
|
||||
```
|
||||
|
||||
To rollback a _prepare_ :
|
||||
```
|
||||
mvn release:rollback
|
||||
```
|
||||
|
||||
To test the release :
|
||||
```
|
||||
mvn -DdryRun=true release:prepare
|
||||
mvn release:clean (test cleaning)
|
||||
```
|
||||
|
||||
### Documentation
|
||||
|
||||
<https://maven.apache.org/maven-release/maven-release-plugin/index.html>
|
||||
|
||||
## Plugin CloudFoundry
|
||||
|
||||
### Configuration
|
||||
|
||||
Change the _TOFILL_ strings in the comment plugin's section.
|
||||
|
||||
### Usage
|
||||
|
||||
The _cf-maven-plugin_ plugin allows to manage the application in a CloudFoundry platform and specifically to push it :
|
||||
|
||||
```
|
||||
mvn cf:push
|
||||
```
|
||||
|
||||
### Documentation
|
||||
|
||||
<http://docs.cloudfoundry.org/buildpacks/java/build-tool-int.html>
|
||||
|
||||
|
||||
## Plugin Docker
|
||||
|
||||
### Configuration
|
||||
|
||||
The _docker-maven-plugin_ (from Spotify) plugin has no configuration.
|
||||
|
||||
### Usage
|
||||
|
||||
The default project packaging (for CloudFoundry) is a WAR. In the Docker image, we use a JAR. To use this plugin (and the correct packaging), use the _docker_ profile :
|
||||
|
||||
```
|
||||
mvn package -P docker
|
||||
```
|
||||
|
||||
This command generates a local Docker image. To manage it, use the _docker_ profile to access the _docker-maven-plugin_ (such as push it).
|
||||
|
||||
### Documentation
|
||||
|
||||
<https://github.com/spotify/docker-maven-plugin>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.min.css" />
|
||||
<!--[if lt IE 9]>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.ie.min.css" />
|
||||
<![endif]-->
|
||||
<a class="github-fork-ribbon" href="https://github.com/Febbweiss/springboot-react-webpack" target="_blank" title="Fork me on GitHub">Fork me on GitHub</a>
|
||||
Reference in New Issue
Block a user