Code Monkey home page Code Monkey logo

dokazovi-be's People

Contributors

0lia avatar alexandr-bielan avatar andrewtyshkovets avatar antonmishyn avatar antoshasid avatar axelnordov avatar brmdm avatar dmytro-mykhalko avatar fhtoe avatar fortamt avatar handicraftsman avatar ilyakosarenko avatar increddwight avatar invzbl3 avatar izarx avatar kuzmajava avatar lizozavr avatar melnikovae87 avatar mvalchyshen avatar nickunderhill avatar ponruslan avatar sofiyaolenyn avatar stanislavkucher avatar teafunny avatar v-kaidash avatar vadimasikkpi avatar vasilpetrus avatar vitaliikulinskyi avatar vladstone13 avatar voloshkevych avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dokazovi-be's Issues

BE - Materials (Direction page)

Story link
#22

Task description

User (any role) should view materials with direction corresponding to Direction page in "Materials" section.
User should have possibility to filter materials by material type and tags.

To do

    • API (Post) controller
    • Service layer
    • Repository layer
    • Unit tests

Facebook Authorization

Story link
#105

Task description

Implement Facebook API for user authorization

To do

    • Get app credentionals for Facebook API
    • Create a db migration, add fields for FB auth
    • Implement service for creating, updating and deleting user
    • Implement repository for creating, updating and deleting user using facebook mail
    • Implement api endpoint controller for authorization
    • Tests

PERT: Sprint 3

BE - All experts and expert page

Story link
#90
#94

Task description

Implement API to retrieve all experts filtered by Directions and Regions, implement API to retrieve expert by id

To do

    • Implement API endpoint for getting all experts filtered
    • Implement API endpoint for getting expert by id
    • Implement Service
    • Implement Repository
    • Unit tests

As an unregistered user I want to register using Facebook Account so that I can I can pull up personal information to fill out the registration form automatically.

Unregistered user should have a possibility of registration using a Google account.
Unregistered user should have the possibility to sign in using a Google account

When a user clicks on the "Register now link" on the Sign in/Registration pop-up, another pop-up "Registration" should appear.
facebook

After clicking on the Facebook icon, the user should be able to continue registration with the Facebook account.
After giving permission to use the user's Facebook account, the user should have the possibility to sign in.

Links with Change request #215

As a user (any role) I want to view Experts list on "Experts" page so that I can choose which one I want to read.

Reused: https://docs.google.com/document/d/1bFocIi4w03yRbd6MOpMxJmFCerebAyfiM4jfDqxY6PM/edit?usp=sharing
As a user (any role) I want to view Experts list on "Experts" page so that I can choose which one I want to read.

User (any role) should view a list with Experts cards on the Experts page.

Experts page content should contain:

  • “Topics” (“Теми”) section;
  • “Region” (“Регіон”) section;
  • Experts list section;
  • Expert cards.

Experts list:

  • Two columns;
  • Three cards in a column;
  • Go to the next list of six cards.

explist

Clicking on "1" button should change to the first card list.
Clicking on "2", “3”, etc. button should change to the next card list by number.
Clicking on ">>" button should change the list with cards to the last list.
Clicking on "<<" button should change the list with cards to the first list.

Each Experts card should contain:

  • Author's picture;
  • First name, last name;
  • Topics;
  • Place of work;
  • Position;
  • Last added material title (if it exists).

expcard

Click on "First name, last name, place of work” should redirect to "Expert" page.
Click on "Last added material title" should redirect to "Material" page.

“Topics” (“Теми”) section should contain:

  • List of tagged destinations.
  • Possibility of filtering by tags with checkbox.
  • By default all topics are chosen.

Click on \/ button should the full Topic's section come out.
Click on /\ button should the full Topic's section come back.
Chosen Topics are displayed in the top of section. Chosen regions are displayed after Click on /\ button.

Topics1

direction2

“Region” (“Регіон”) section should contain:

  • List of regions;
  • Possibility of filtering with checkbox;
  • By default all regions are chosen.

Click on \/ button should the full region's section come out.
Click on /\ button should the full region's section come back.
Chosen regions are displayed in the top of section. Chosen regions are displayed after Click on /\ button.

region1

region2

Results should be sorted by the value of Expert Rating, max to min. If few Experts have equal rating they should be sorted in alphabetic order.
Expert Rating by default is set to the number of posts in PUBLISHED state.
We should have a separate Expert Rating field in the database so that admin could correct it where required.

Sorting rules for search results:

  • If a user chooses one or no filtration parameter, results should be sorted by the value of Expert rating (max to min).
  • If a user chooses two or more filtration parameters, firstly should be displayed results satisfying maximal number of parameters sorted by value of Expert rating (max to min). Secondly should be displayed results satisfying (max-1) number of parameters sorted by value of Expert rating (max to min). Lastly should be displayed results satisfying 1 parameter sorted by value of Expert rating (max to min).

AC:

  • Expert's list is displayed
  • Experts list has 6 cards in 2 columns
  • Experts list is sorted by Expert rating.
  • Expert's cards are displayed
  • Region section is displayed
  • Topics section is displayed
  • Clicking on "1" button should change to the first card list.
  • Clicking on "2", “3”, etc. button should change to the next card list by number.
  • Clicking on ">>" button should change the list with cards to the last list.
  • Clicking on "<<" button should change the list with cards to the first list.
  • Click on "First name, last name, place of work” should redirect to "Expert" page.
  • Click on "Last added material title" should redirect to "Material" page.
  • Click on \/ button should the full Topic's section come out.
  • Click on /\ button should the full Topic's section come back.
  • Click on \/ button should the full region's section come out.
  • Click on /\ button should the full region's section come back.

SI about page name // Edited 25.02.2021 by #183

As a user(any role) I want to view Note Page

User (any role) should view material in Note Page

Note Page content should contain:

  • Expert section
  • Article section

Expert section:

  • Author's picture
  • First name, last name
  • Place of work

author

Click on “First name, last name” should redirect to "Expert Page"

Note section:

  • Note title
  • Direction
  • Material
  • Date of adding

Material should contain text that is provided by the author.

notepage

Click on direction’s value should redirect to "Direction page"

AC:

  • Expert section is displayed
  • Note section is displayed
  • Click on “First name, last name” should redirect to "Expert Page"
  • Click on direction’s value should redirect to "Direction page"

BE - All Post Types by API call

Story link
#94

Task description

Implement functionality to get all Post Types API call

To do

    • Implement all Post Types endpoint
    • Create DTO
    • Implement service layer
    • Implement repository layer
    • Unit tests

PERT: Sprint 3

BE - Important posts task (main page)

Story link
#11 Story

Task description

Implement API for important posts

To do

    • Post DTO
    • API (POST) controller with pagination (3 post per page) and configuration request
    • Service layer
    • Repository layer with pagination
    • Unit tests

BE - Find all directions and regions by API request

Story link
#90

Task description

Implement functionality to get all directions and all regions by respective API calls

To do

    • Implement all directions endpoint
    • Implement all regions endpoint
    • Create DTOs
    • Implement service layer
    • Implement repository layer
    • Unit tests

BE - latest posts task (main page)

Story link
#12 Story

Task description

Implement API for the latest posts

To do

    • DTO for posts
    • API (POST) controller with pagination (10 posts per page)
    • Service layer
    • Repository layer for latest posts and pagination
    • Unit tests

Authorization (Google)

Story link
#190

Task description

Implement functionality to login/signup as a user via Google account.

To do

    • Create Google OAuth 2.0 Client IDs credentials
    • Create .yaml file with security properies
    • Set-up Oauth in SecurityConfig
    • Implement Auth request/response DTOs
    • Implement Token Processing
    • Implement User signup
    • Implement User login
    • Unit tests

PERT: Sprint 3

BE - Email Confirmation

Story link
#30 Story

Task description

Develop functionality for confirming the email of a registered user

To do

    • Create migration of database for Verification Token.
    • Create Verification Token Entity.
    • Implements service and repository layers for Token.
    • Implement API endpoint controller for Email confirmation.
    • Modification of existing API endpoints.
    • Connect API with an existing mailbox.
    • Elimination of conflicts with an existing branch of Authorization.
    • Add functionality for sending template of "confirmation Email".
    • Create Unit tests.

PERT: Sprint 3

BE - Experts sorting by relevance

Story link
#90

Task description

Implement experts' sorting by search relevance(filtered by directions and regions).

To do

    • Create migration with promotionLevel and promotionScale columns for user_entity
    • Implement Service layer logic
    • Implement repository method for retrieving users sorted by relevance
    • Create Unit Test

PERT: Sprint 4

BE: Versioning

Task description

Add versioning for release candidate and release using tags

To do

    • Create GitHub workdlow for release candidate
    • Create GitHub workdlow for release
    • Implement displaying the version in the application

BE - All posts by expert

Story link

Task description

Implement API endpoint to retrieve all published posts by their author, filtered by PostTypes

To do

    • Implement API endpoint controller for getting published posts by their author.
    • Implement a service layer for getting all published posts.
    • Implement repository for getting all published posts.
    • Implement filtering functionality by PostTypes
    • Add Unit Test

BE - doctors preview task (main page)

Story link
#13 Story

Task description

Implement API for showing doctors

To do

    • DTO for doctor (and latest post from him)
    • API (POST) controller with request configuration
    • Service layer
    • Repository layer (sort by making posts)
    • Unit tests

As a user (any role) I want to view Expert profile on “Expert” page so that I can learn more about certain expert.

User (any role) I want to view information about Expert on “Expert” page.
User (any role) I want to view Expert’s material on “Expert” page.

Experts page content should contain:

  • Profile section.
  • Material section.

Expert’s profile:

  • Author's picture;
  • First name, last name;
  • Position;
  • Topics;
  • Place of work;
  • Phone number;
  • Email;
  • Info about expert.

expert

Click on topic’s value should redirect to "Topic page" (Direction page).

Material section:

  • The checkboxes with material types;
  • Three columns;
  • Three cards in a row;
  • "More materials" (Більше матеріалів) button. Button is shown if user has 10 or more materials.
  • If user has no materials it should be written "У користувача поки що немає матеріалів".

Expert’s material card should contain:

  • Author's picture, first name, last name, primary place of work.
  • Material type (article, note, video, course etc.), topic (direction) and title. For articles, notes: preview of material (3 lines). For video: player preview.
  • Date of adding.
  • Materials should be sorted by date and time of adding, newest to oldest.

expmaterial

Clicking on "More materials" (Більше матеріалів) should load 6 more materials to section and focus the page on them. After loading last available 1-6 materials button "More materials" should be hidden. And the information "No more new materials" ("Більше нових матеріалів немає") appears.
User should have possibility to filter materials by material type.
Material page should be opened by clicking on material card.

Materials section filtration.

By default section displays all materials with Topic (direction) mentioned. All checkboxes are unmarked by default.
If user chooses material type (article/post etc) materials should be filtered as chosen, the section reloads according to user's request.
In case of a user unmarks all checkboxes the section opens all materials.
in case of according to user's request nothing materials are found open the message with text "Вибачте, за вашим запитом матеріалів не знайдено."
If user clicks on some Topic (direction) in material card we redirect him to Topic (direction) page. Page should be in default state (with no filtration).
if user uses browser instruments “back/forward page” filtration set will be saved at list for one step (better for all).

As a user (any role) I want to view Material Full view page so that I can get acquainted with the content

Changed by change request #311 (27/05/21)

User (any role) should view material in Post Page.

Article Page should contain:

  • Expert section.
  • Article section.

Expert section includes:

  • Author's picture.
  • First name, last name.
  • City and place of work.

author

Click on “First name, last name” should redirect to "Expert Page".

Article section includes:

  • Article title.
  • Tags.
  • Topic.
  • Material.
  • Date of adding.

Click on "Topic" should redirect to "Topic Page".

For Article page:
Material must contain text and should contain pictures that are provided by the author.
Picture should be named.

image

For Note page:
Material must contain text and should be limited by number of characters.

image

AC:

  • Expert section is displayed.
  • Article section is displayed.
  • Click on “First name, last name” should redirect to "Expert Page".
  • Click on Topic’s value should redirect to "Topic page".

SI:

  • about Tags // Edited 25.02.2021 by #184
  • about time of addinf materials // Edited 25.02.2021 by #182

Create Facebook account

Task description

Create a Facebook account for Dokazovi

To do

    • Create Facebook account
    • Share credentials

api document

Create a document with API for the first page

As a user(any role) I want to view Video Page

User (any role) should view material in Video Page

Video Page content should contain:

  • Expert section
  • Video section

Expert section:

  • Author's picture
  • First name, last name
  • Place of work

author

Click on “First name, last name” should redirect to "Expert Page"

Video section:

  • Video title
  • Direction
  • Video
  • Video’s description
  • Date of adding

Video should be added from youtube or another video hosting.
Video's description should contain text that is provided by the author.

video

Click on direction’s value should redirect to "Direction page"

AC:

  • Expert section is displayed
  • Video section is displayed
  • Click on “First name, last name” should redirect to "Expert Page"
  • Click on direction’s value should redirect to "Direction page"

BE - Update User_Source DB (MtM -> OtM)

Task description

Create a migration script for updating the usrer_source table (Many-to-Many -> One-to-Many)

To do

    • Create migration script
    • Extand Institution with address (city)

SPIKE #9: Docker/Jib

Task description

Investigation about conteiners Docker and Jib

To do

  • Presentation Docker
  • Presentation Jib
  • Examples with

Some useful links:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.