diff --git a/mean-app/.editorconfig b/mean-app/.editorconfig new file mode 100644 index 0000000..6e87a00 --- /dev/null +++ b/mean-app/.editorconfig @@ -0,0 +1,13 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/mean-app/.gitignore b/mean-app/.gitignore new file mode 100644 index 0000000..fe6f8a7 --- /dev/null +++ b/mean-app/.gitignore @@ -0,0 +1,40 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# misc +/.sass-cache +/connect.lock +/coverage/* +/libpeerconnection.log +npm-debug.log +testem.log +/typings + +# e2e +/e2e/*.js +/e2e/*.map + +#System Files +.DS_Store +Thumbs.db diff --git a/mean-app/README.md b/mean-app/README.md new file mode 100644 index 0000000..50f580a --- /dev/null +++ b/mean-app/README.md @@ -0,0 +1,31 @@ +# MeanApp + +This project was generated with [angular-cli](https://github.com/angular/angular-cli) version 1.0.0-beta.28.3. + +## Development server +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive/pipe/service/class/module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). +Before running the tests make sure you are serving the app via `ng serve`. + +## Deploying to GitHub Pages + +Run `ng github-pages:deploy` to deploy to GitHub Pages. + +## Further help + +To get more help on the `angular-cli` use `ng help` or go check out the [Angular-CLI README](https://github.com/angular/angular-cli/blob/master/README.md). diff --git a/mean-app/angular-cli.json b/mean-app/angular-cli.json new file mode 100644 index 0000000..ccd749e --- /dev/null +++ b/mean-app/angular-cli.json @@ -0,0 +1,67 @@ +{ + "project": { + "version": "1.0.0-beta.28.3", + "name": "mean-app" + }, + "apps": [ + { + "root": "src", + "outDir": "dist", + "assets": [ + "assets", + "favicon.ico" + ], + "index": "index.html", + "main": "main.ts", + "polyfills": "polyfills.ts", + "test": "test.ts", + "tsconfig": "tsconfig.json", + "prefix": "app", + "styles": [ + "styles.css" + ], + "scripts": [], + "environments": { + "source": "environments/environment.ts", + "dev": "environments/environment.ts", + "prod": "environments/environment.prod.ts" + } + } + ], + "e2e": { + "protractor": { + "config": "./protractor.conf.js" + } + }, + "lint": [ + { + "files": "src/**/*.ts", + "project": "src/tsconfig.json" + }, + { + "files": "e2e/**/*.ts", + "project": "e2e/tsconfig.json" + } + ], + "test": { + "karma": { + "config": "./karma.conf.js" + } + }, + "defaults": { + "styleExt": "css", + "prefixInterfaces": false, + "inline": { + "style": false, + "template": false + }, + "spec": { + "class": false, + "component": true, + "directive": true, + "module": false, + "pipe": true, + "service": true + } + } +} diff --git a/mean-app/e2e/app.e2e-spec.ts b/mean-app/e2e/app.e2e-spec.ts new file mode 100644 index 0000000..0aa5fb3 --- /dev/null +++ b/mean-app/e2e/app.e2e-spec.ts @@ -0,0 +1,14 @@ +import { MeanAppPage } from './app.po'; + +describe('mean-app App', function() { + let page: MeanAppPage; + + beforeEach(() => { + page = new MeanAppPage(); + }); + + it('should display message saying app works', () => { + page.navigateTo(); + expect(page.getParagraphText()).toEqual('app works!'); + }); +}); diff --git a/mean-app/e2e/app.po.ts b/mean-app/e2e/app.po.ts new file mode 100644 index 0000000..97252c6 --- /dev/null +++ b/mean-app/e2e/app.po.ts @@ -0,0 +1,11 @@ +import { browser, element, by } from 'protractor'; + +export class MeanAppPage { + navigateTo() { + return browser.get('/'); + } + + getParagraphText() { + return element(by.css('app-root h1')).getText(); + } +} diff --git a/mean-app/e2e/tsconfig.json b/mean-app/e2e/tsconfig.json new file mode 100644 index 0000000..656bdb1 --- /dev/null +++ b/mean-app/e2e/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "declaration": false, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "module": "commonjs", + "moduleResolution": "node", + "outDir": "../dist/out-tsc-e2e", + "sourceMap": true, + "target": "es5", + "typeRoots": [ + "../node_modules/@types" + ] + } +} diff --git a/mean-app/karma.conf.js b/mean-app/karma.conf.js new file mode 100644 index 0000000..1f2613a --- /dev/null +++ b/mean-app/karma.conf.js @@ -0,0 +1,43 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/0.13/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', 'angular-cli'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-remap-istanbul'), + require('angular-cli/plugins/karma') + ], + files: [ + { pattern: './src/test.ts', watched: false } + ], + preprocessors: { + './src/test.ts': ['angular-cli'] + }, + mime: { + 'text/x-typescript': ['ts','tsx'] + }, + remapIstanbulReporter: { + reports: { + html: 'coverage', + lcovonly: './coverage/coverage.lcov' + } + }, + angularCli: { + config: './angular-cli.json', + environment: 'dev' + }, + reporters: config.angularCli && config.angularCli.codeCoverage + ? ['progress', 'karma-remap-istanbul'] + : ['progress'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false + }); +}; diff --git a/mean-app/mean-app.zip b/mean-app/mean-app.zip new file mode 100644 index 0000000..592a238 Binary files /dev/null and b/mean-app/mean-app.zip differ diff --git a/mean-app/package.json b/mean-app/package.json new file mode 100644 index 0000000..f80715d --- /dev/null +++ b/mean-app/package.json @@ -0,0 +1,48 @@ +{ + "name": "mean-app", + "version": "0.0.0", + "license": "MIT", + "angular-cli": {}, + "scripts": { + "ng": "ng", + "start": "ng serve", + "test": "ng test", + "pree2e": "webdriver-manager update --standalone false --gecko false", + "e2e": "protractor" + }, + "private": true, + "dependencies": { + "@angular/common": "^2.3.1", + "@angular/compiler": "^2.3.1", + "@angular/core": "^2.3.1", + "@angular/forms": "^2.3.1", + "@angular/http": "^2.3.1", + "@angular/platform-browser": "^2.3.1", + "@angular/platform-browser-dynamic": "^2.3.1", + "@angular/router": "^3.3.1", + "body-parser": "^1.17.1", + "core-js": "^2.4.1", + "express": "^4.15.2", + "rxjs": "^5.0.1", + "ts-helpers": "^1.1.1", + "zone.js": "^0.7.2" + }, + "devDependencies": { + "@angular/compiler-cli": "^2.3.1", + "@types/jasmine": "2.5.38", + "@types/node": "^6.0.42", + "angular-cli": "1.0.0-beta.28.3", + "codelyzer": "~2.0.0-beta.1", + "jasmine-core": "2.5.2", + "jasmine-spec-reporter": "2.5.0", + "karma": "1.2.0", + "karma-chrome-launcher": "^2.0.0", + "karma-cli": "^1.0.1", + "karma-jasmine": "^1.0.2", + "karma-remap-istanbul": "^0.2.1", + "protractor": "~4.0.13", + "ts-node": "1.2.1", + "tslint": "^4.3.0", + "typescript": "~2.0.3" + } +} diff --git a/mean-app/protractor.conf.js b/mean-app/protractor.conf.js new file mode 100644 index 0000000..ffded70 --- /dev/null +++ b/mean-app/protractor.conf.js @@ -0,0 +1,32 @@ +// Protractor configuration file, see link for more information +// https://github.com/angular/protractor/blob/master/lib/config.ts + +/*global jasmine */ +var SpecReporter = require('jasmine-spec-reporter'); + +exports.config = { + allScriptsTimeout: 11000, + specs: [ + './e2e/**/*.e2e-spec.ts' + ], + capabilities: { + 'browserName': 'chrome' + }, + directConnect: true, + baseUrl: 'http://localhost:4200/', + framework: 'jasmine', + jasmineNodeOpts: { + showColors: true, + defaultTimeoutInterval: 30000, + print: function() {} + }, + useAllAngular2AppRoots: true, + beforeLaunch: function() { + require('ts-node').register({ + project: 'e2e' + }); + }, + onPrepare: function() { + jasmine.getEnv().addReporter(new SpecReporter()); + } +}; diff --git a/mean-app/server.js b/mean-app/server.js new file mode 100644 index 0000000..582e490 --- /dev/null +++ b/mean-app/server.js @@ -0,0 +1,41 @@ +// Get dependencies +const express = require('express'); +const path = require('path'); +const http = require('http'); +const bodyParser = require('body-parser'); + +// Get our API routes +const api = require('./server/routes/api'); + +const app = express(); + +// Parsers for POST data +app.use(bodyParser.json()); +app.use(bodyParser.urlencoded({ extended: false })); + +// Point static path to dist +app.use(express.static(path.join(__dirname, 'dist'))); + +// Set our api routes +app.use('/api', api); + +// Catch all other routes and return the index file +app.get('*', (req, res) => { + res.sendFile(path.join(__dirname, 'dist/index.html')); +}); + +/** + * Get port from environment and store in Express. + */ +const port = process.env.PORT || '3000'; +app.set('port', port); + +/** + * Create HTTP server. + */ +const server = http.createServer(app); + +/** + * Listen on provided port, on all network interfaces. + */ +server.listen(port, () => console.log(`API running on localhost:${port}`)); \ No newline at end of file diff --git a/mean-app/server/routes/api.js b/mean-app/server/routes/api.js new file mode 100644 index 0000000..45d8d56 --- /dev/null +++ b/mean-app/server/routes/api.js @@ -0,0 +1,17 @@ +const express = require('express'); +const router = express.Router(); + +router.post('/telegram', (req, res) => +{ + console.log(req.body); + + res.status(200); + res.send("{\"success\":\"true\"}"); +}); + +/* GET api listing. */ +router.get('/', (req, res) => { + res.send('api works'); +}); + +module.exports = router; diff --git a/mean-app/src/app/app.component.css b/mean-app/src/app/app.component.css new file mode 100644 index 0000000..e69de29 diff --git a/mean-app/src/app/app.component.html b/mean-app/src/app/app.component.html new file mode 100644 index 0000000..b6931b5 --- /dev/null +++ b/mean-app/src/app/app.component.html @@ -0,0 +1,3 @@ +