Skip to content

fierfeu/Gayole

Repository files navigation

Gayole Sand Box

*This repository is a sand box for my own learning

Strucutral choices

I began by working on a very light weight server in order to serve static page. As I continue to developp a one site page to use this lw server I kept both back and front in the same project. it would be better to use dependencies between both and when doing so, i discover lws repo. I need to benchmark some other lw server before to move to any one. That's the reaons why I keep, for the moment both back and front in the same project.

Running

  • You can Run app with
//supposing you're using PowerShell (like in VSCODE Terminal)
$ENV:PORT=80 // if you want to use this PORT on Windows, on Linux PORT=8080.
npm start

Ctrl+C to stop ....

Testing

Running Tests

You can run tests using npm run :

  • You can run All unit tests with : npm run unit-tests or directly with mocha
  • You can run End to End tests with : npm run e2e-test
  • All tests including E2E : npm run All-tests
  • Running a given set of test by using strings iside brackets : mocha -f [QOG for exemple

tests organisation

test directory is organise in three main parts :

  1. E2E : Based on web driver you'll find all the hihgt level GUI tests for the game. I began to use protractor but I had trouble to manage drag&drop whit this webdriver implementation and as i didn't used any framework Webdriver is simpler to use. As I use private properties of ES6 I can only perform test with Chrome. Safari needs a MAc to test ... so SAFARi is not yet tested ... I have to investigate how to test Safari with Travis-ci.
  2. Load tests store all the Jmeter tests
  3. UnitTests All the units test for : tools used are mocha, chai and sinon JS
    • App contains all Back tests)
    • css contains all tests performed on css files using JSDOM to verify class definitions
    • HTML contains allt tests on HTML index and board files tests also using JSDOM
    • js test js header for index html
    • json tests scenarii json
    • mjs contains all tests for ES6 modules

Load Tests are described in the heroku part.

why i used vanilla js and node

I don't like frameworks so i don't use frameworks for the moment.

##CI performed by travis-ci the travis ci is no more used

site on heroku##

the Heroku site is now closed

I use know aws EB and code pipeline for CI/CD

build files for code pipeline are availbale in the root of the project

Gayole android app

following a training course on android devlopment I made a small app for android based on a WebView to acces Gayole web game. you'll find code of the app here : link to android app repo

Build Status Coverage Status