All Projects → Brain-up → brn

Brain-up / brn

Licence: CC0-1.0 License
The idea of this project is to design and make a web-application (with scientist cooperation) which would contained series of special audio trainings to support people with central auditory skills deficit to allow them to train them to listen better.

Programming Languages

kotlin
9241 projects
Handlebars
879 projects
typescript
32286 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to brn

webmarks
remoteStorage-enabled bookmarking app
Stars: ✭ 65 (+58.54%)
Mutual labels:  emberjs, spa
sharesome
Share files quickly from your remote storage
Stars: ✭ 21 (-48.78%)
Mutual labels:  emberjs, spa
vuetube
Video resources that will help you to improve your Vue skills
Stars: ✭ 54 (+31.71%)
Mutual labels:  spa
webviewhs
🌐 A Haskell binding to the webview library created by Serge Zaitsev.
Stars: ✭ 109 (+165.85%)
Mutual labels:  spa
RSSR
React Server Side Rendering boilerplate with Authentication structure
Stars: ✭ 41 (+0%)
Mutual labels:  spa
kontent-sample-app-react
Sample React SPA utilizing the Kontent Delivery API to fetch content.
Stars: ✭ 45 (+9.76%)
Mutual labels:  spa
dowels
🔨 a tiny but powerful javascript library that performs client-side routing, templating, and REST API communication to help you get your single-page web applications running in seconds
Stars: ✭ 13 (-68.29%)
Mutual labels:  spa
latelier
L'atelier, a project management tool
Stars: ✭ 74 (+80.49%)
Mutual labels:  spa
ember-semantic-ui
A variety of semantic-ui components for ember app
Stars: ✭ 20 (-51.22%)
Mutual labels:  emberjs
imgalign
Webapplication for image stitching and aligning
Stars: ✭ 162 (+295.12%)
Mutual labels:  spa
ember-typings
Typescript type definitions for ember.js
Stars: ✭ 13 (-68.29%)
Mutual labels:  emberjs
overlooker
Frontend performance profiling tool
Stars: ✭ 21 (-48.78%)
Mutual labels:  spa
wikonnect
Wikonnect seeks to bridge the digital divide through the provision of digital literacy skills. Management support through Asha (www.asha.io).
Stars: ✭ 31 (-24.39%)
Mutual labels:  emberjs
stimulus todomvc
[WIP] An implementation of TodoMVC using Ruby on Rails and StimulusJS
Stars: ✭ 14 (-65.85%)
Mutual labels:  spa
ors-map-client
Openrouteservice API web SPA client using VueJS, Vuetify and Vue2Leaflet
Stars: ✭ 51 (+24.39%)
Mutual labels:  spa
ember-template-rewrite
A utility for automatically refactoring Ember.js templates.
Stars: ✭ 16 (-60.98%)
Mutual labels:  emberjs
amtgo
Intel AMT / vPro mass management tool
Stars: ✭ 25 (-39.02%)
Mutual labels:  emberjs
dumber
A dumb JavasScript bundler for Single Page Application, dumber than you and me.
Stars: ✭ 21 (-48.78%)
Mutual labels:  spa
ember-changeset-conditional-validations
Conditional validations for ember-changeset-validations
Stars: ✭ 26 (-36.59%)
Mutual labels:  emberjs
glimmer-apollo
Ember and Glimmer integration for Apollo Client.
Stars: ✭ 32 (-21.95%)
Mutual labels:  emberjs

Gitpod ready-to-code

Brain Up!

This project is a web-application being developed to support people with a deficit in their central auditory skills with or without hearing loss, i.e. users of cochlear implant or hearing aids. Intended to be used by children older than 7 years, adults, elderly subjects; anyone who wants to improve their auditory skills, training their brain to improve the understanding of what is heard. It is projected to contain several series of media exercises, which should be added incrementally. The tool structure and usage is organized as other tools like www.uchi.ru.

Our current version is here : http://brainup.site && http://31.184.253.199/ (test user [email protected] password). Now you as a user can register and start doing exercises.

Our road map https://github.com/Brain-up/brn/blob/master/roadmap.md.

SCIENTIFIC SOURCES

Published ARTICLES about our project

WHY JOIN OUR PROJECT AS A DEVELOPER?

We use the latest technologies and best practices, so developers will get to know new tools and their usage, obtaining a useful experience. We will review your code, give you advice to improve it and listen to your suggestions. Most importantly being an open source project you can show your work in it to any person interested, proving your development expertise with actual examples of your work flow and code samples in a live application.

WE ARE LOOKING FOR

  1. Front-end developers: Ember, Angular.
  2. Server-side developers: Kotlin and Java. Components, REST and algorithms.
  3. DevOps: Continuous integration and delivery.
  4. UX: Creative designers for UX research and prototype testing. Your ideas how to improve user retention are welcome.
  5. Paintest: for creation pictures for exercises.

Join us! Learn something new, try your skills, prove yourself, get experience and get ahead!

TOOLS WE USE

  • Back-end: KOTLIN + Spring boot. Rest api as integration layer.
  • Front-end : TBD - Ember, Angular.
  • DB: Postgres13.
  • TestContainers for running integration tests.

HOW TO JOIN?

You can send an email to [email protected] or directly to [email protected] describing your interests or any questions you may have.
Our project Telegram group : https://t.me/+R-6ThlxgP5QyZmMy
Project on epam plus (for epamers): https://plus.epam.com/projects/115

GETTING STARTED!

Resources:

Documentation

https://github.com/Brain-up/brn/wiki
https://kb.epam.com/display/EPMLABSBRN/Business+Domain+Info

Jira

https://github.com/Brain-up/brn/issues
https://jira.epam.com/jira/secure/RapidBoard.jspa?rapidView=103360&view=planning

Jenkins (only for epamers now)

https://kb.epam.com/pages/viewpage.action?pageId=885110636

Coding standards

https://github.com/Brain-up/brn/wiki/Coding-Standards
https://kb.epam.com/display/EPMLABSBRN/Coding+Guidelines

Development:

Development prerequisites

  1. FrontEnd: Install node v12 or above https://nodejs.org/en/download/
  2. FrontEnd: Install yarn 1.19 or above https://yarnpkg.com/lang/en/docs/install
  3. FrontEnd: In order to make any commit you need Husky dependency be installed (you can use frontend build to get it)
  4. BackEnd: Install Docker https://hub.docker.com/search/?type=edition&offering=community
  5. BackEnd: Idea

Start Front Angular Part - admin application

Go to location where the project is download for example C:\brn\brn\frontend-angular

📄 See here

Start Front Ember Part - user application

📄 See here

Database running:

  1. Install docker to your machine. The project uses postgres 11.5. Documentation Currently for local development we use postgres docker image To install docker use:

2.1 To run docker db image use the following command:

  • on linux\windows:
docker run --name postgres_dev -d -p 5432:5432 -e POSTGRES_DB=brn -e POSTGRES_PASSWORD=$PG_PASSWORD -e POSTGRES_USER=$PG_USER postgres:13

$PG_PASSWORD and $PG_USER are environment variables and could be replaced directly or added to your operating system. how to add in win10.

2.2 Alternatively, you can just replace the variables by "admin", the default user and password for development:

docker run --name postgres_dev -d -p 5432:5432 -e POSTGRES_DB=brn -e POSTGRES_PASSWORD=admin -e POSTGRES_USER=admin postgres:13

Back end Kotlin Part:

  1. Run command 'gradle build' from main project folder to build project with tests.
  2. Application.kt is the main class to run application from Idea for example.
  3. Get Postman Collection from https://www.postman.com/koylubaevNT/workspace/brainup/collection/2686902-d91ba307-e131-4d4f-a308-0a272e063c95 and environment from https://www.postman.com/koylubaevNT/workspace/brainup/environment/2686902-95b2c495-82a1-4244-83c7-dad7f8efebd7.
  4. Make post request from "Firebase" folder "Get Authorization Token" using credentials.
  5. Then you can call all other end-points from this Postman collection end-point specification is here: https://github.com/Brain-up/brn/blob/master/api-contract/api.raml

Note that if you are using IntelliJ, you may want to use version 2019.2 and later to avoid issues with new kotlin plugin.

Useful Postman scripts:

  • Script to generate month tasks statistic (you can use it with brnlogin request in Test tab)

Deploy Application USING DOCKER COMPOSE:

(back-end part and front-end parts, but it is rather slow. it is better to use GitPod) From console, from project's folder, execute:

docker-compose up --build

Alternatively, use daemon mode (no console output):

docker-compose up --build -d

REST API will be accessible at http://localhost:8081/api/swagger-ui.html

docker useful command:

docker ps -a # for show all containers
docker stop idContainer # for stop running container
docker rm $(docker ps -a -q) # Remove all stopped containers

Development tips:

  1. Get a task assigned in JIRA (for epamers) or issue (https://github.com/Brain-up/brn/issues) you choosed and discused it with @ElenaSpb, send your githubnick to her.
  2. Create branch from dev with the codename of your task, i.e. EPAMLABSBRN-1.
  3. Implement your task, do not forget to write tests. Remember to follow project's coding standards: https://github.com/Brain-up/brn/wiki/Coding-Standards or https://kb.epam.com/display/EPMLABSBRN/Coding+Guidelines .
  4. Create pull request with task name and description about what was done.
  5. Notify the team in our skype chat and wait for reviews. At least one reviewer is necessary, but more can be added in a case by case basis.
  6. The task gets merged by a project maintainer.
  7. check that build job on jenkins passes successfully.
  8. Before load config files check them with https://orfogrammka.ru/ service.

Code style:

  1. Please refer for details to kb resources: https://github.com/Brain-up/brn/wiki/Code-Style or https://kb.epam.com/display/EPMCOSRINT/Code+style
  2. Always use Ctrl+Alt+L in IDEA to update code formatting before committing!
  3. Use gradlew ktlint command to check code style. If this task fails, the related report with error details can be found in the 'build\reports\ktlint' folder.
  4. It is also possible to use gradlew ktlintFormat command to fix code style errors automatically.
  5. Please note that if gradlew ktlint task fails, project build will fail also.
  6. For api.raml validation, you can use [Api Designer] (https://rawgit.com/mulesoft/api-designer/v0.4.2/dist/index.html).

Kotlin input dto validation:

https://github.com/Brain-up/brn/wiki/Kotlin-request-dto-validation-with-annotations

Flyway scripts naming

use V2yearmonthday_taskNumber for example V220210804_899.

Branches:

Use format 'EPMLABSBRN-# issue description' or 'Merge description'. Issue number must be in range [0-1999]

Sonar:

  1. https://sonarcloud.io/code?id=Brain-up_brn our project sonar cloud.
  2. To view test coveradge locally
    2.1 use jacoco gradle task locally jacocoTestReport 2.2 command line: gradle jacocoTestReport
  3. Pay attention that main local metric would be a little bit different from the one in Sonar cloud.

Thanks for support

  • EPAM for Jira/Confluence, test instance and Jenkins, for contribution support program.
  • JetBrains for IDEA licenses
  • Selectel for public instance
  • GitHub for code place and actions where we run CICD
  • Yandex for Yandex Speech Kit service and free account to use it

Thanks for contribution!

License

CC0 1.0 Universal https://joinup.ec.europa.eu/licence/cc0-10-universal-cc0-10-public-domain-dedication

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].