Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anastasia-a-zhivaeva/payment-terminal.front
Test exam on frontend developer vacancy. Payment terminal for the cell providers.
https://github.com/anastasia-a-zhivaeva/payment-terminal.front
angular e2e-testing interview material unit-testing
Last synced: about 2 hours ago
JSON representation
Test exam on frontend developer vacancy. Payment terminal for the cell providers.
- Host: GitHub
- URL: https://github.com/anastasia-a-zhivaeva/payment-terminal.front
- Owner: anastasia-a-zhivaeva
- Created: 2019-09-26T20:32:58.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-01T23:56:55.000Z (over 1 year ago)
- Last Synced: 2023-03-06T12:17:14.129Z (over 1 year ago)
- Topics: angular, e2e-testing, interview, material, unit-testing
- Language: TypeScript
- Homepage: https://d2d07nuxicsnq.cloudfront.net
- Size: 8.33 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Payment terminal for Cell providers
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
## Test exam on frontend developer vacancy
After providing the code to the company, I continued working on it to practice development skills.
The guidance for the test task
For resolving the task it is allowed and necessary to use any frameworks and components which would save your time and allow to solve the task optimally. However, we ask you to provide short description of frameworks or libraries that were used and what for.
#### Practical test
- We dont have full detailed requirements to the system functionality here as they are not necessary in this task and you are allowed to make certain assumptions. The purpose of this task is to assess your practice skills of developing and designing the client part of web applications.
- All calls to the API / server-side must be mocked.
- We dont provide design of the screens here, so the level of design / pixel perfect layout will not be evaluated here.
- The layout of all screens must be adaptive - to support different sizes of device screens, including mobile screens.
- Big advantage would be to think through and design corresponding toolset to support future scalability of the project#### Payment terminal for the cell providers
Develop (HTML/CSS-coding and implement client-side logic) application interface for the terminal providing the service of refilling the balance of cellular operators. The application should have the following screens / basic input and control elements:
1. Main screen
- The list of supported telecom operators: MTS, Beeline, Megafon (implement flexibility to extend list of supported operators).
- Click on certain operator should redirect to the refilling screen.2. Refill balance form
- Identifier of the selected operator
- Phone number input field (with mask and validation)
- The field for entering the amount of refill in rubles (with mask and validation, min possible amount - 1 rub, max - 1000 rubles)
- Submit button - should wait for a response from the server, show a message about the success or error. In case of success, return to the main screen. Success and error should be implemented randomly.#### Comments
The result of your work should be published here, on github. You should send us link to github repository with source code and a link to the working version of the app (for this you can use github pages or any other hosting).
This is the [board](https://github.com/users/anastasia-a-zhivaeva/projects/2) of this project where you can check the progress. \
The version 1.0.0 is what was provided as a result of test exam.This repository uses [conventional commits](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-format) and [semantic release](https://github.com/semantic-release/semantic-release).
## Angular CLI README Information
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.3.6.
## 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|guard|interface|enum|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/).
## 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).