---
# System prepended metadata

title: Routes

---

# Routes
- /api/v1

# Image
- `https://picsum.photos/{new Date()}/picsum/200`

## Post
- [x] **GET** /post/:postId **Akil** 
    -  **Query:** type to sort Comments by
        - time(default)
        - like
        - professional
    - **Response:** Post
- [x] **GET** /post/feed **Akil**
    - **Query:** type to sort Posts by
        - time(default)
        - like
        - professional
    - **Response:** Posts
- [x] **POST** /post/create **Akil**
    - **Request:** New Post
    - **Response:** "Your Post Has been created" - message
- [x] **GET** /post/:postId/save **Akil** 
    - **Response:** "Post Has been Saved!" - message
- [x] **POST** /post/:postId/comment/create **Akil**
    - **Request:** New Comment 
    - **Response:** New Comment
- [x] **POST** /post/:postId/comment/:commentId/reply/create **AKil**
    - **Request:** New Reply
    - **Response:** New Reply
- [x] **GET** /post/:postId/comment/:commentId/replies **Akil**
    - **Response:** All Replies of a certain comment
- [x] **GET** /post/:postId/like **Akil** 
    - **Reponse:** "Like Confirmation" - message
- [ ] **GET** Report(probable)
- [ ] **GET** Share(probable)
- [ ] **POST** /post/:postId/edit
    - **Request:** Edits of the Post
    - **Response:** Edited Post
- [ ] **POST** /post/:commentId/edit
    - **Request:** Edits of the Comment
    - **Response:** Edited Comment


## Community
- [ ] **GET** /community/create **Fahim**
    - **Request:** Community Info
    - **Response:** Community
- [x] **GET** /community/:communityId/information **Akil**
    - **Response:** Community General Information (isJoined)
- [x] **GET** /community/:communityId/feed **Akil**
    - **Query:** type to sort Posts by
        - time(default) 
        - like
        - professional
    - **Response:** Posts
- [ ] **POST** /community/:communityId/search
    - **Request:** Search 
    - **Response:** Relevent Information (Posts, User, Tests)
- [x] **GET** /community/:communityId/about **Akil**
    - **Request:** Community About
    - **Response:** Details of the disease, links for further knowledge


## User
- [ ] **GET** /user/professional/:userId/profile **Akil**
    - **Response:** Profile 
- [ ] **GET** /user/regular/:userId/profile **Rishov**
    - Three Cases:
        - `jwt & userId matches:` **Response:** Profile (Health)
        - `jwt & userId don't match:` **Response:** Profile
        - `jwt is Professional:` **Response:** Profile (Health)
- [x] **GET** /user/:userId/posts **Akil**
    - **Response:** Posts
- [x] **GET** /user/:userId/comments **Akil**
    - **Response:** Comments
- [x] **POST** /user/professional/signup **Akil**
    - **Request:** Credentials
    - **Response:** Message: "Under Verification"
- [x] **POST** /user/regular/signup **Akil**
    - **Request:** Credentials
    - **Response:** Sign Up Information( welcome message, jwt token, role)
- [x] **POST** /user/login **Akil**
    - **Request:** Credentials
    - **Response:** ProfileInfo
- [ ] **POST** /user/professional/edit **Rishov**
    - **Request:** Credentials
    - **Response:** ProfileInfo
- [ ] **POST** /user/regular/edit **Rishov**
    - **Request:** Credentials
    - **Response:** ProfileInfo
- [x] **GET** /user/communities **Akil**
    - **Response:** CommunityInfo
- [ ] **GET** /user/communities/more
    - **Response:** CommunityInfo
- [x] **GET** /user/community/:communityId/join **Akil** 
    - **Response:** Message: Joined
- [ ] **GET** /user/notifications
    - **Response:** Notifications **Rishov**
- [x] **POST** /user/pushToken/register **Rishov**
    - **Request:** pushToken
    - **Response:** pushToken
- [ ] **POST** /user/search
    - **Request:** Search 
    - **Response:** Relevent Information (Posts, User, Tests, Community)
- [x] **GET** /user/savedPosts **Akil**
    - **Response:** Saved Posts of a logged in user 
- [ ] **GET** /user/suggesetedProfessionals **Rishov**
    - **Query:** type to sort Professionals by
        - Best (Rating) 
        - Location (closes to farthest)
    - **Response:** Professionla List with Ids
- [x] **GET** /user/professional/:userid/chamber **Akil**
    - Response: Professional Detail Information( qualification, license, address etc)
- [x] **GET** /user/professional/:userid/info **Akil**
    - Response: Professional General Information(specialization, rank, name)
- [x] **GET** /user/tests/history
    - **Response:** Test History( test name, id, status, 3 scores array, timestamp )
- [ ] **GET** /user/tests/more
    - **Response:** Test name (Test name, times taken, id)
- [x] **GET** /user/advice/latest
    - **Response:** Advice from latest testinfo/test taken
- [ ] **GET** /user/notifier/turnoff
    - **Response:** Success Message




## Test
- [x] **POST** /test/create
    - **Request:** Test Questions
    - **Response:** Created Test
- [x] **GET** /test/:testId
    - **Response:** Test
- [x] **POST** /test/:testId/submit
    - **Request:** Test Scores
    - **Response:** Advice
- [ ] **GET** /test/advice/communities/suggested
    - **Response:** Suggested Communities(Array) based on score filtered by tags
- [ ] **GET** /test/random
    - **Response:** Test
- [x] **POST** test/advice/create
    - **Request:** Advice
    - **Response:** Newly created advice

