# 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 () |