Project-Based-10-24-vk / Client

0 stars 0 forks source link

SoftServe IT Academy

SpaceToStudy project

SpaceToStudy project is a platform where experts in various fields share their knowledge and students can learn from the best. Here you can find the proper training course, find a tutor, or find students and receive feedback from them.

[![GitHub issues](insert your link here)] [![Pending Pull-Requests](insert your link here)] [![GitHub license](insert your link here)]



Installation

Required to install

Clone

Setup

install npm packages

$ npm install

How to run local

  1. Open terminal.
  2. Run npm run start to start application.*
  3. Open http://localhost:3000 to view it in the browser.
* - to run the project you need an .env file in root folder

Usage

How to run tests

To run unit test open terminal and run npm run test in it.


Documentation

Rules and guidelines

Testing

Components

Order of testing components:

  1. simple stateless components that are used in multiple places
  2. components that depends on other components but not connected to Redux and don’t have any state
  3. components that have internal state but are not connected to Redux
  4. components that connected to Redux
Don’t test:

Snapshots allow us to compare actual UI with saved one and throw an error if it has accidentally changed. We can use flag “updateSnapshot” to update save snapshots of a component. It is appropriate for presentational components but doesn’t cover any logic

What to test in components:

Sagas

Flow:

Link to the full article about proper saga testing: https://dev.to/phil/the-best-way-to-test-redux-sagas-4hib#:~:text=To%20test%20that%20the%20saga,selector%20into%20the%20following%20gen.

Actions creators

We test action creators as simple pure functions that just take an arguments and output proper arguments

Reducers

We test reducers as simple pure functions that just take an arguments and output proper arguments Checks:

Cypress

  1. Use data-cy as selector

Contributing

You're encouraged to contribute to our project if you've found any issues or missing functionality that you would want to see. You can add in Issues tab and after that click on New issue. There you can see the list of issues and create a new issue after clicking on New Issue.

Before sending any pull request, please discuss requirements/changes to be implemented using an existing issue or by creating a new one. All pull requests should be done into develop branch.

There are two GitHub projects: Space2Study-node-Client-mvp for frontend part and Space2Study-node-BackEnd-mvp for backend part. Every project has it's own issues.

Every pull request should be linked to an issue. So if you make changes on frontend or backend parts you should create an issue with a link to corresponding requirement (story, task or epic). Every issue should have its own branch. Every branch name should start from task type (feature, bugfix or test), task number and short description. e.g. feature/125/create-adminPanel

All Pull Requests should start from prefix #xxx-yyy where xxx - task number and and yyy - short description e.g. #125-createAdminPanel


Git flow

We have main , develop and feature branches.
All feature branches must be merged into develop branch!!! Only the release should merge into the main branch!!!

Github flow

Step 1

Step 2

Step 3


Issue flow

Step 1

Step 2

Step 3


Teams

Development team

@Tolik170 @Mav-Ivan @dmtrth25 @abalanovsky @OlyaKorchan @Marichka0406

DevOps team

@abohatyrov @bdeputat

Designer team

@Nastia197

BA team

@IvannaSW

QC team

@AntonOkun @Valent1n0o

FAQ


License

MIT

License