https://github.com/rproenza86/rrp-services-prpl
Express web server to provide different versions of your application to different browsers according with the their capabilities improving the webapp performance.
https://github.com/rproenza86/rrp-services-prpl
ceo express-js nodejs polymer prpl-pattern ssr
Last synced: 11 months ago
JSON representation
Express web server to provide different versions of your application to different browsers according with the their capabilities improving the webapp performance.
- Host: GitHub
- URL: https://github.com/rproenza86/rrp-services-prpl
- Owner: rproenza86
- License: gpl-3.0
- Created: 2017-11-19T20:00:53.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-11-27T10:33:14.000Z (over 8 years ago)
- Last Synced: 2025-03-18T18:26:57.747Z (about 1 year ago)
- Topics: ceo, express-js, nodejs, polymer, prpl-pattern, ssr
- Language: JavaScript
- Homepage:
- Size: 154 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @rproenza/rrp-services-prpl
> Serve different versions of your prpl app application to different browsers by detecting browser capabilities using the user-agent header.
> Special focus in Progressive Web Apps and Polymer Web Apps.
> Serve [PRPL](https://developers.google.com/web/fundamentals/performance/prpl-pattern/) apps in production.
# ExpressJS + TypeScript Node Server
[](https://travis-ci.org/rproenza86/rrp-services-prpl)
[](https://www.codacy.com/app/raul.r.proenza/rrp-services-prpl?utm_source=github.com&utm_medium=referral&utm_content=rproenza86/rrp-services-prpl&utm_campaign=Badge_Grade)
[](https://www.codacy.com/app/raul.r.proenza/rrp-services-prpl?utm_source=github.com&utm_medium=referral&utm_content=rproenza86/rrp-services-prpl&utm_campaign=Badge_Coverage)
[](https://www.versioneye.com/user/projects/5a14ca6e0fb24f2a6d408d11)
[](https://greenkeeper.io/)
[](https://github.com/semantic-release/semantic-release)
[](https://www.npmjs.com/package/@rproenza/rrp-services-prpl)
[](https://www.npmjs.com/package/@rproenza/rrp-services-prpl)
[](https://github.com/rproenza86/rrp-services-prpl/blob/master/LICENSE)
## Usage as a library
```js
const server = require('@rproenza/rrp-services-prpl')
const port = 8787;
const builsPath = "./src/public/";
const buildsConfig = [
{name: "es6-unbundled", browserCapabilities: ["es2015", "push"]},
{name: "es6-bundled"},
];
server.startServer(port, builsPath, buildsConfig);
// output : App is running at http://localhost:8787 in development mode
```
## Usage as a server
### Getting started
- Clone the repository
```
git clone --depth=1 https://github.com/rproenza86/rrp-services-prpl.git
```
- Install dependencies
```
cd
npm install
```
- Copy your builds directory to `src/public/`
```
cp -R /build/source src/public/
```
- Update the directory names and others options in the `builds` array param of the function `prpl.makeHandler`:
```
server.ts file
```
```
line 89
```
- Build and run the project
```
npm start
```
Navigate to `http://localhost:3000`
## Environment variables
- For the user session you can setup the environment variable `SESSION_SECRET`
## Project Structure
Check the `README_EXPANDED.md` file .