UBUY is a React CRUD application. UBUY is an online marketplace/e-commerce website that can help you sell all of your unnecessary appliances and things in general. UBUY's goal is to offer its users/visitors the best possible market experience. Users can get around quickly due to the user friendly design of our website. Our application is fully responsive, so you can use it from any device, any time! So what are you waiting for? Register and sell your unnecessary stuff today!
- Registered users will be able to activate gift cards/codes with different amounts of balance. Activating a code will add the balance to their account and purchases they want to make will require the listed amount of money.
- Registered users will be able to add balance to their account using PayPal.
- Administrators will be able to create new gift cards/codes through the admin panel. They can set the amount of uses a gift card has and the balance it will add to the user's account
- Registered users will be able to directly pay for their products using any payment method thanks to Stripe.
- Registered users will be able to view/edit their settings in a more in depth way than the current profile editing.
- Registered users will be able to change their password.
- Registered users will be able to add different addresses.
- Registered users will be able to view all of their orders.
- Administrators will be able to edit user profiles.
- Registered users will be able to add their favorite products to their wishlist for easier access to them.
- Registered users will be able to access their wishlist through their settings/profile.
- Registered users will be able to rate the product when leaving a review.
- Registered users will be able to send us messages to get the help they need for our services.
- ReactJS - Front-End
- Express.js REST API - Back-End
- React Hot Toast - Notifications
- Material UI - React Ready Components
- Pure CSS
You can check out the project at: https://ubuy-react.netlify.app/
You can check out the Back-End REST API at: https://github.com/kristiyanpts/UBUY-REST-API
IMPORTANT
Back-End REST API is hosted on Render with a free plan that has some limitations. If you get a blank error when you enter the website or courses aren't loading, please wait for up to 2 minutes and refresh. The reason for that is due to the host being free and if not used recently it spins down.
- Home: User is greeted with the base information they need to know about UBUY and is prompted to register (if not signed in), create a listing (if signed in), browse our listings or take a look at the 5 recently added listings by scrolling down.
- Contact: Information about our whereabouts is displayed, as well as a contact form for the user to get in touch with us.
- Market: Displayes all of the listings, as well as a filter menu on the left of the screen.
- Listing Details: User can view all of the information about the currently selected product (listed by, listed on, quantity, category, description, people from whom its bought and its price of course) and its reviews.
- Profiles: User can view other people's profile page and their listed products.
- Sign In and Sign Up: No explanation needed here :D
- Listing Creation: Authenticated users who are registered as sellers can add a new listing. However, authenticated users who are registered as buyers can not add a new listing!
- Listing Details: Authenticated users who are not the creator (seller) of the listing can add the product listed to their cart and add reviews about the product. Authenticated user who is the creator (seller) of the listing can edit the listing and delete the listing.
- Editing A Listing: By clicking the edit button the creator (seller) is redirected to the editing page where they can update everything about their listing.
- Profile: Authenticated user can edit their profile information by navigation to their profile and clicking the edit button.
- Admin Panel: Authenticated users who are admins can access the admin panel.
- Dashboard: Admin can view the main information about the current status of the website.
- Listings: Admin can view all of the existing listing and can delete them.
- Users: Admin can view all of the existing users and can delete their profiles.
- Editing and Deleting your listings
- Adding and Deleting product reviews (can't review your own listing of course)
- Buying products decreases their quantity (can't buy more than the available amount)
- Editing and Deleting your profile (deleting your profile delets your product listings and reviews also)
- Admins can Delete listing and users
*OPTIONAL - If you want to start the application fully locally
- Step 1.1 (*Optional): Download or clone the following repositoty containing the REST API - https://github.com/kristiyanpts/UBUY-REST-API
- Step 1.2 (*Optional): To run the app locally you also need to download MongoDB
- Step 2.1 (*Optional): Open the REST API in a different VS Code window and go through its documentation about setting it up.
- Step 2.2 (*Optional): Head to ubuy/src/core/constants/api.constants.js and uncomment the second line (Locahost URL)
npm i
npm run dev
Step 5: Wait for the application to start and head to http://localhost:5173/
npm run build