Skip to content

KshitijKapoor8/Giftin

Repository files navigation

Demo link (in case of technical failure): https://youtu.be/9AQrwnR9xgw

What our website does

Welcome to Giftin', a novel new platform in which users can view exactly what other users want and manage their own wishlists.

After signing up, all the user has to do is click the plus icon on the wishlist tab and add a new amazon link; the program will automatically get the price and title of the producct from the link, and it will store that information per user.

The user can also search for the wishlists of other users on the search tab. When the user finds another user and clicks on his name, a modal will open up that will show the wishlist of the other user. Here, the user can buy the products, which will redirect to the amazon link, as well as remove that particular item from the wishlist of the other user.

How we built it

We built our project using the MERN stack, which means we used MongoDB as our no document backend, express to create our own RestAPI, ReactJS for our frontend, and Node to manage all of the moving parts.

The first thing we did is make the general backend structure. In this structure, each user will have a wishlist attached to them, which they will be able to update. We made the RestAPI using express, and started on the frontend.

After finishing that, we worked on our frontend as well as connected the frontend to the backend for the login and signup.

Next, we started working on our wishlist. Each user had to be able to see their own wishlists, and since each wishlist array that each used had only stored amazon links, we had to implement our own webscraper to get the price and title from each amazon link. This was probably the bit that was the most time consuming, as we had to figure out how to use a proxy in order to make this feature.

Finally, we worked on adding links as well as searching for other users' information.

To run this program, make sure you have nodejs installed, as well as have cloned the github repository at https://github.com/KshitijKapoor8/Giftin

npm install

npm install nodemon

In case there are errors with the clone, make sure all of the above commands are run.

Afterwards, cd into the backend folder, and in the terminal, run "nodemon server". Note, this may not always work in the very first try, just save the file again and it should start the server fine.

Then, open a new terminal, this time cd into the root project, and run "npm start".

A site should be running on localhost:3000, you should be able to use the entirety of the application.

  1. Home Page image

  2. Login Page image

  3. Your wishlist page when logged in image

  4. Adding a wishlist. Because we use a webscraper that we made ourselves, all the user has to do is input the amazon website link (unfortunately, no free Amazon API's exist). image

  5. Search the database of users, and then see the wishlists of other users. image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages