Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
a790f32
update dependencies and DB pass
Hossein-Kelisa Jul 30, 2025
ae55611
update dependencies and DB pass
Hossein-Kelisa Jul 30, 2025
27fe3f0
update dependencies and DB pass
Hossein-Kelisa Jul 30, 2025
885c390
test
Hossein-Kelisa Jul 30, 2025
ff16442
Merge pull request #1 from Hossein-Kelisa/newBranch
Hossein-Kelisa Jul 30, 2025
6ddbca8
update names
Hossein-Kelisa Oct 10, 2025
f11252e
update
Hossein-Kelisa Oct 12, 2025
940a438
update
Hossein-Kelisa Oct 12, 2025
aca6cea
update
Hossein-Kelisa Oct 12, 2025
6769b3f
update
Hossein-Kelisa Oct 12, 2025
63904aa
update
Hossein-Kelisa Oct 12, 2025
eabeb73
update
Hossein-Kelisa Oct 12, 2025
6d6dc13
update
Hossein-Kelisa Oct 12, 2025
fea2af9
update
Hossein-Kelisa Oct 12, 2025
99cd359
update
Hossein-Kelisa Oct 12, 2025
7b1d00f
update
Hossein-Kelisa Oct 12, 2025
57f9fcc
update
Hossein-Kelisa Oct 12, 2025
4e1cacb
update
Hossein-Kelisa Oct 12, 2025
5c9ee81
Merge pull request #2 from Hossein-Kelisa/headerStyling
Hossein-Kelisa Oct 12, 2025
575b3d1
update
Hossein-Kelisa Oct 13, 2025
dd5efb2
update
Hossein-Kelisa Oct 13, 2025
8cf7921
update
Hossein-Kelisa Oct 13, 2025
bb69b2e
update
Hossein-Kelisa Oct 13, 2025
6da90f6
update
Hossein-Kelisa Oct 13, 2025
50da218
update
Hossein-Kelisa Oct 13, 2025
c9a5d22
update
Hossein-Kelisa Oct 13, 2025
0f2aca2
update
Hossein-Kelisa Oct 13, 2025
cfd6103
update
Hossein-Kelisa Oct 13, 2025
13d6d83
update
Hossein-Kelisa Oct 13, 2025
4ed5fff
update
Hossein-Kelisa Oct 13, 2025
80b705b
update
Hossein-Kelisa Oct 13, 2025
2eb3467
update
Hossein-Kelisa Oct 13, 2025
fe418b4
update
Hossein-Kelisa Oct 13, 2025
5d8ab26
update
Hossein-Kelisa Oct 13, 2025
f42f176
update
Hossein-Kelisa Oct 13, 2025
408045f
Merge pull request #3 from Hossein-Kelisa/ExplainText
Hossein-Kelisa Oct 13, 2025
c98eca1
update
Hossein-Kelisa Oct 13, 2025
50df23f
update
Hossein-Kelisa Oct 13, 2025
6b06d30
update
Hossein-Kelisa Oct 13, 2025
ab7b123
update
Hossein-Kelisa Oct 13, 2025
6e40a53
Merge pull request #4 from Hossein-Kelisa/BannerStyling
Hossein-Kelisa Oct 13, 2025
f480848
update footer
Hossein-Kelisa Oct 14, 2025
4618cd6
update footer
Hossein-Kelisa Oct 14, 2025
4011976
update footer
Hossein-Kelisa Oct 14, 2025
58ad93f
Merge pull request #5 from Hossein-Kelisa/FooterStyles
Hossein-Kelisa Oct 14, 2025
0acac1f
update result page
Hossein-Kelisa Oct 15, 2025
a8629a9
update
Hossein-Kelisa Oct 15, 2025
6798914
update
Hossein-Kelisa Oct 15, 2025
a534893
update
Hossein-Kelisa Oct 15, 2025
abfbbf4
update
Hossein-Kelisa Oct 15, 2025
04c502e
update
Hossein-Kelisa Oct 15, 2025
a6e6c83
update
Hossein-Kelisa Oct 15, 2025
ec35627
update
Hossein-Kelisa Oct 15, 2025
92510b2
install vite
Hossein-Kelisa Oct 15, 2025
12ccccb
Merge pull request #7 from Hossein-Kelisa/installcies
Hossein-Kelisa Oct 15, 2025
976eb00
update
Hossein-Kelisa Oct 15, 2025
8d8e0ff
update
Hossein-Kelisa Oct 15, 2025
5d3fd6a
update
Hossein-Kelisa Oct 15, 2025
12c5d12
update
Hossein-Kelisa Oct 15, 2025
44c569f
Merge pull request #8 from Hossein-Kelisa/ResultPageFeature
Hossein-Kelisa Oct 15, 2025
0e714d1
update
Hossein-Kelisa Oct 16, 2025
c3191f4
update
Hossein-Kelisa Oct 16, 2025
d29164b
update
Hossein-Kelisa Oct 16, 2025
1a6454f
update
Hossein-Kelisa Oct 16, 2025
f6ff40f
update
Hossein-Kelisa Oct 16, 2025
ff2516b
update
Hossein-Kelisa Oct 16, 2025
ba77a0a
Merge pull request #9 from Hossein-Kelisa/ExplainText2
Hossein-Kelisa Oct 16, 2025
33c6780
add feature
Hossein-Kelisa Oct 16, 2025
722fcc9
Merge pull request #10 from Hossein-Kelisa/addingSomeFeatures
Hossein-Kelisa Oct 16, 2025
4ad7bb9
update
Hossein-Kelisa Oct 18, 2025
e870142
Merge pull request #11 from Hossein-Kelisa/featureProfilePage
Hossein-Kelisa Oct 18, 2025
1ad6993
add new feature to explain text
Hossein-Kelisa Oct 25, 2025
2cf0c66
add new feature to item slider logo
Hossein-Kelisa Oct 25, 2025
748cbbd
change folder Auth togle
Hossein-Kelisa Oct 25, 2025
f2665d0
change folder banner.css
Hossein-Kelisa Oct 25, 2025
6a610ce
update folder of banner.jsx
Hossein-Kelisa Oct 25, 2025
b1fcd17
update and improve structures of components
Hossein-Kelisa Oct 25, 2025
26c4147
solve uploading Item slider issue
Hossein-Kelisa Oct 25, 2025
332e3af
solve uploading shape.svg
Hossein-Kelisa Oct 25, 2025
a8b4958
Auth page uploading issue
Hossein-Kelisa Oct 25, 2025
4a25444
solve some importing issue
Hossein-Kelisa Oct 25, 2025
25f1ec2
change animation form
Hossein-Kelisa Oct 25, 2025
12faef4
change animation form in Item slider logo
Hossein-Kelisa Oct 25, 2025
c834995
add new component
Hossein-Kelisa Oct 25, 2025
4fc76da
add new component to HomePage
Hossein-Kelisa Oct 25, 2025
8c571a5
change priority of components in Homepage
Hossein-Kelisa Oct 25, 2025
9c1127e
add another shape component to home page
Hossein-Kelisa Oct 25, 2025
f38eab7
improve functionality
Hossein-Kelisa Oct 25, 2025
beaa728
add styling for scrolling component
Hossein-Kelisa Oct 25, 2025
562a013
change color of span
Hossein-Kelisa Oct 25, 2025
58b3cef
change text of horizontal scrolling component
Hossein-Kelisa Oct 25, 2025
2a14ca5
make it responsive
Hossein-Kelisa Oct 25, 2025
42c4263
Merge pull request #12 from Hossein-Kelisa/featureHomepage
Hossein-Kelisa Oct 25, 2025
5eebda2
start to update Itemdetails page
Hossein-Kelisa Oct 27, 2025
71ac5fa
change small styling format
Hossein-Kelisa Oct 27, 2025
df42824
improve responsive
Hossein-Kelisa Oct 27, 2025
40d474e
improve explain text2
Hossein-Kelisa Oct 27, 2025
3fef7ef
improve horizontal text
Hossein-Kelisa Oct 27, 2025
f7b3466
update explain text color
Hossein-Kelisa Oct 27, 2025
b0cb89f
Merge pull request #13 from Hossein-Kelisa/ItemDetailsPage
Hossein-Kelisa Oct 27, 2025
008393b
update margin
Hossein-Kelisa Oct 29, 2025
2344814
add background image
Hossein-Kelisa Oct 29, 2025
7b1a76c
change background image style
Hossein-Kelisa Oct 29, 2025
7f5339a
change styling form
Hossein-Kelisa Oct 29, 2025
7902401
change styling form
Hossein-Kelisa Oct 29, 2025
d3cb0cf
change styling form
Hossein-Kelisa Oct 29, 2025
823cea1
change styling form
Hossein-Kelisa Oct 29, 2025
9e610f8
Merge pull request #14 from Hossein-Kelisa/AuthPageRestyle
Hossein-Kelisa Oct 29, 2025
fd37ec1
change Readme file
Hossein-Kelisa Nov 11, 2025
65b4a31
install new npm because I transfered all my projects to new laptop
Jun 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
118 changes: 2 additions & 116 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
![ShareWithUs](<Screenshot-2025-07-02-150025.png>)
![ShareWithUs](<Screenshot-2025-07-04-090032.png>)

# Cohort 51 final project - ShareWithUs

This is the final project for the HackYourFuture curriculum we did as a cohort using the [MERN stack](https://www.mongodb.com/resources/languages/mern-stack) by following the agile methodology with our team and a group of mentors. A quick guide to what we built:
# ShareWithUs


### 📝 Description
Expand All @@ -28,114 +24,4 @@ Main features:
- **Image Upload:** Cloudinary
- **Authentication:** Token-based (JWT)

[Click here for the Demo version](https://hyf-c51-grou-feature-re-4kuggz.herokuapp.com/)

## 1. Setup

First, to setup all the directories run the following in the main directory:

`npm install`

`npm run setup`

The first command will install `cypress` and some small libraries needed for running the rest of the commands. The second will go into the `client` and `server` directories and set those up to be ran.

In the `client` and `server` directory there are two `.env.example` files. Create a copy and rename that to `.env`. Then follow the instructions in those files to fill in the right values.

To run the app in dev mode you can run the following command in the main directory:

`npm run dev`

## 2. Code structure

```
client
├── public
└── src
| └── __tests__
| └── __testUtils__
| └── components
| └── hooks
| └── pages
| └── __tests__
| └── components
| └── util
| index.jsx
cypress
| └── fixtures
| └── integration
| └── plugins
| └── support
server
└── src
└── __tests__
└── __testUtils__
└── controllers
└── db
└── models
└── routes
└── util
index.js
```

### 2.1 Client structure

- `public` || public facing client code
- `__tests__` || any `jest` tests for specific components will be in a `__tests__` folder on the same level
- `__testUtils__` || any code that is only being used in the tests is put in the `__testUtils__` folder to separate that away from the rest of the code
- `components` || all of our shared components that are used over multiple pages
- `hooks` || all of our custom hooks
- `pages` || the page components of our app, any routing will go between these components
- `pages/components` || components used specifically on those pages
- `util` || any utility functions that can be used anywhere on the client side
- `main.jsx` || the start point of the client
- `vite.config.js` || to configure vite

### 2.2 Cypress structure

- `fixtures` || any data/files that `cypress` needs can be placed here
- `integration` || all of our tests are in here, separated in folders based on the pages in our app
- `plugins` || any plugins for our `cypress` configuration can be placed here
- `support` || custom commands and other support files for `cypress` can be placed here

### 2.3 Server structure

- `__tests__` || any `jest` tests for the api endpoints as that is our testing strategy for the backend
- `__testUtils__` || any code that is only being used in the tests is put in the `__testUtils__` folder to separate that away from the rest of the code
- `controllers` || all of our controller functions that interact with the database
- `db` || all of our configuration for the database
- `models` || all of our `mongoose` models will be placed here
- `routes` || code to match up the API with our controllers
- `util` || any utility functions that can be used anywhere on the server side
- `index.js` || the start point of the server

## 3. Stack / external libraries

The base stack of the app is a MERN stack (Mongoose, Express, React, Node). Next to that we make use of the following extras:

### 3.1 Configuration libraries

- `dotenv` || To load the .env variables into the process environment. See [docs](https://www.npmjs.com/package/dotenv)
- `vite` || To bundle our React app and create a static app to host. See [docs](https://vite.dev/)
- `husky` || To run our tests and linter before committing. See [docs](https://typicode.github.io/husky/#/)
- `eslint` || To check our code. We have different configurations for frontend and backend. You can check out the configuration in the `.eslintrc.(c)js` files in the respective `client` and `server` folders. See [docs](https://eslint.org/)
- `prettier` || To automatically format our code. See [docs](https://prettier.io/)
- `concurrently` || To run commands in parallel. See [docs](https://github.com/open-cli-tools/concurrently#readme)

For more information on how these work together including the automatic deployment to heroku, have a look at our detailed [DEV](./DEV.md) file.

### 3.2 Client-side libraries

- `@testing-library/*` || We use React Testing Library to write all of our tests. See [docs](https://testing-library.com/docs/react-testing-library/intro/)
- `jest` || To run our tests and coverage. See [docs](https://jestjs.io/)
- `jest-fetch-mock` || To mock out the backend for our testing purposes. See [docs](https://github.com/jefflau/jest-fetch-mock#readme)
- `prop-types` || To type-check our components. See [docs](https://github.com/facebook/prop-types)

### 3.3 Server-side libraries

- `nodemon` || To automatically restart the server when in development mode. See [docs](https://nodemon.io/)
- `jest` || To run our tests and coverage. See [docs](https://jestjs.io/)
- `supertest` || To more easily test our endpoints. See [docs](https://github.com/visionmedia/supertest#readme)
- `mongodb-memory-server` || To mock out our database in our backend tests. See [docs](https://github.com/nodkz/mongodb-memory-server)
- `cors` || To open up our API. See [docs](https://github.com/expressjs/cors#readme)
- `mongoose` || To add schemas to our database. See [docs](https://mongoosejs.com/)
[Click here for the Demo version](https://sharewithus.onrender.com/) wait 60 sec
Binary file removed Screenshot 2025-07-02 150025.png
Binary file not shown.
Binary file removed Screenshot 2025-07-04 090032.png
Binary file not shown.
Loading
Loading