---
# System prepended metadata

title: Bid

---

# Bid

## Rules

### Work time & daily standup
- Ahmed => 9:00 - 5:00 & 10:00 - 2:00
- Rawand => 9:00 - 5:00
- Asmaa => ['8:00','9:00'] && ['5:00','12:00']
- Abdallah => ['8:00','9:00'] && ['5:00','12:00']
- Raghad Mezied => 9:00 - 6:00

#### Daily standup
6:30

### Style Guide
- async/await, axios
- Branch
   - [ ] every branch realte to specific issue
   - [ ] issueNumber-feature (ex: 2-login)
   - [ ] commit changes early
   - [ ] commit should be descriptive and not too short neither too long.
   - [ ] create branch from main
   - [ ] pull main frequentally
- PR
    - [ ] while work not done open it as draft
    - [ ] when work is done change label to `awaiting review`
    - [ ] While PR approved change label to `done`, merge, close related-issue and delete branch.
    - [ ] the one whose open the PR should merge it
    - [ ] 3 approved requires to merge PR.
    - [ ] PR should have suffecient, descriptive details.
    - [ ]  git fetch `branch-name` locally, then check everything works as should it be.
    - [ ] add comments to PR, So changes will be documented, change label to `request changes`.
    - [ ] the one who request changes should resolve it.
    - [ ] pre-commit to check tests and linting.

- labels
    - awaiting-review
    - to-do
    - done
    - front
    - back
    - route 
    - in-progress
    - request changes

- files naming, variables:  camelCase
- General rules
    - all our folders should have `index.js`, every modules exported from.
    - add comments to explan complex code.
    - test every backend route. (supertest, unit test)
    - destructre your vars.
    - 
    - 
- What to do early morning
    - Review pending PR.
    - share your updates, what are you working on, time you will spend on.
    
### Our UI


### colors and fonts type
**Font:** ```@import url('https://fonts.googleapis.com/css2?family=Inter&display=swap');```
**font-family:** 'Inter', sans-serif;

**Colors:**
NavBar: Black, (opacity 60%)
Buttons: `#2565C0`
Rating Stars: `#F9BF00`
Text: black, or `#535353`

### Issues template 
 - Express Route
    ```
    Express Route template

    Title should be: METHOD /full-route with labels Back, Route

    Description:
    what route should do

    Protected: Yes/No
    
    Required middleWares:
    
    Request body:
    {
      x: 'y'
    }

    Validation
    {
      x: string.min(19)
    }

    Tests:
     all our status code
     200 => 
     400 => 
     401 => 
    ```
    
- React Route
    ```
    React Route template
    
    title should be: Name of the page - /route with labels front, Route
    
    Route	'/'
    signed in only?	false
    admin only?	false
    
    Screenshot from figma
    
    Components:
    component 1
    component 2
    ```

### Strength & weakness (What to learn / feature want to work)
- Asmaa => backend authentication (weekness)
- Rawand => backend authentication (weekness)
         => front end more than back end
- Abdallah => front end (weekness), database design (strength)
- Ahmed => middleware (weekness)
- Raghad Mezied

### Backend routes
- Errors (done) =>ahmed
- POST /login =>abdaullah
- POST /signup =>rawand 
- POST /logout =>asmaa

**Home page routes**
- Get /products => Raghad
- Get /product/catergory=cateroy&maxPrice=""&minPice=""&status=""   (search) =>ahmed

**Product details routes**
- Get /product/:id  =>abdallah
- Get /product/:id/bids (table)
- put /product/:id (price)
- put /product/:id (state)**auth-middleware**

**profile page**
* post /addProduct =>rawand
* Get /bids =>asmaa
* Get /wins =>Raghad
* Get /auctions =>Raghad




### additional issues
- readme => ahmed
- file Structure   abdallah =>
- auth middlewares (verify user) => rawand

- database  =>  Raghad
- express setup => ahmed
- convert **JWT**`verfiy`, `sign` to Promise. => abdallah

scripts outer json start cd server & npm run start, pre-commit 
package.json start , dev,


### component and pages
 ##### components
 Button => props, state, children
- **common component**
    *  navabr => rawand
    *  footer => asmaa
    *  button => ahmed
    *  input  => abdallah
    *  select => rawand
    *  Alert (falid/sucess) =>asmaa
    *  product card  => abdallah
    
- **Home page** 
    *  header        => (Raghad) 
    *  latest auctions section => ahmed 
    *  search        => (ahmed)  ?


- **Search Page**
    * products section => asmaa
    * filter section => abdallah

- **Product Details page** //ahmed
    *  detailsCard => single product => rawand
    *  bids table => raghad
    *  Dialog(Alter) => (asmaa) 

- **profile Pages**
    *  win items page           =>Raghad
    *  my auctions page         =>ahmed
    *  my bids page             => abdallah 
    *  form adding new product  => Raghad

- **sign in page** 
    *  sign in   =>(rawand) 
    
- **sign up page**
    *  sign up   =>(asmaa) 


### Frontend Route



| Page        | Endpoint               | Protected           |
| ----------- | ---------------------- | -----------------   |
| home        | /                      | No             ()   | 
| product Details | /product/:id               | No          ()      |
| user        | /user/wins              | Yes (User only)()   |
| user        | /user/bids              | Yes (User only)()   |
| user        | /user/auctions              | Yes (User only)()   |
| login       | /login                 | No   ()             |
| signup      | /signup                | No          ()      |
| search       | /bids                 | No   ()             |
| 404      |                 | No          ()      |


 
 