8000 GitHub - Terristwj/Revente: A Carousell inspired platform. With Vue, Bootstrap, and PrimeVue
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Terristwj/Revente

Repository files navigation

Reventé

Your Next Generation Clothing Marketplace

Reventé is an online platform that takes inspiration from popular marketplaces like Carousell. We are on a mission to redefine the way people buy and sell used clothing, offering a unique selling proposition that centers around high-quality pre-loved garments. Every item listed on our platform goes through a thorough refurbishment and quality check process conducted by our expert team, ensuring that only exceptional and excellent-condition clothing finds its way to our marketplace.

Reventé Deployment Links:

Frontend Website (Vue/Vite) Backend Server (NodeJS)
Reventé Stripe & APIs
GitHub Repo (Private) GitHub Repo (Private)

Please ask Terristwj to allow collaboration.

Table of Contents

Getting Started

Prerequisites

Before you get started, make sure you have everything setup for both frontend and backend.

Frontend Repository

The repository link is currently private. Please ask Terristwj to allow collaboration. Ensure you have the following tools and dependencies installed:

  • Node.js
  • npm (Node Package Manager)
  • Firebase
    • Authentication
    • Firestore
    • Storage
  • Secret Keys (APIs) (.env)
    • Firebase
    • Google Maps
    • OpenAI
    • PaLM
    • Backend URL (Deployed and Local)

Backend Repository

The repository link is currently private. Please ask Terristwj to allow collaboration. Ensure you have the following tools and dependencies installed:

  • Node.js
  • npm (Node Package Manager)
  • Secret Keys (APIs) (.env)
    • Stripe
    • OpenAI
    • PaLM

Installation

  1. Clone the backend repository

    • Follow the installation steps
    • Run the backend
  2. Clone this frontend repository and install the necessary dependencies:

    npm install
  3. In both frontend and backend, ensure you have the .env files added into each of the project's root directory.

    • Frontend - .env
    • Backend - .env
  4. To run the project locally, use the following command:

    npm run dev
  5. To deploy the project on the cloud, follow these steps:

    • Make sure you have Firebase CLI (Command Line Interface) installed globally:
    npm install -g firebase-tools
    • Log in to Firebase:
    firebase login
    • Build the project:
    npm run build
    • Deploy to Firebase:
    firebase deploy

Developer Shortcuts

A compilation of developer portals to check API limits, payments, deployments, database, and etc. Specific shortcuts require access as collaborator.

  1. Firebase
    1. Project's Firebase Overview
    2. Firebase Authentication
    3. Firestore Database
    4. Firebase Hosting
    5. Firebase Quotas
  2. Others
    1. DialogFlow Controls
    2. DialogFlow Agent
  3. Backend
    1. Backend Vercel
    2. OpenAI Billing
    3. PaLM API Keys
    4. Replicate Billing
    5. Replicate Models Used
  4. Google Drive Files

What Next?

After installation and running both frontend and backend projects, you will start in the Homepage. Our website is also deployed. The following are the various user journeys:

First time users:

Wanting to learn more about Reventé, users will want to learn more about 'Who we are' by visiting the About, Terms & Conditions, and FAQ.

User Buyers:

At Reventé, we sell various recycled clothings. Our buyers do not need to login to make a purchase. Instead, our buyers can directly visit our Product Listings, browsing through our extensive product catalogue and filtering any specific tags.

Once buyers have found an item, they can proceed to 'Add to Cart'. From here, they may proceed to checkout and complete the purchasing procedure through making payment with Stripe.

Buyers Followup:

Whilst shopping logged in, buyers will be able to view, modify, and gain access to various user-related features. They will be able to view/modify their profile, check their wishlist and purchase history. And make reviews on their purchases.

User Sellers:

At Reventé, we buy clothings from our users. Sellers will have to first login, and proceed on to upload their clothing product for listing. Upon completion, their items will not be immediately listed but instead, they will have to visit our physical warehouse where we will further negotiate the price and buy their item on the day of visit.

Sellers Followup:

After making their first business transaction with Reventé, sellers can continue viewing their profile to see what has happened to their sold item. Most importantly, when we have finally sold their item, sellers can view the reviews from other buyers about their items.

Admin Account:

To access the admin page, staff will have to access a secret link. This page will serve the warehouse team and marketing team. The warehouse team will Approve/Reject items from sellers on the day of their visit. The marketing team will make use of the admin dashboard, to effectively create meaningful monthly reports.

Tech Stack

Frontend (This Repository)

  • UI/UX

    • Bootstrap: For responsive and stylish user interface design.
    • PrimeVue (BTL): A UI component library for Vue.js.
    • Animations (BTL):
      • Anime.js: A flexible JavaScript animation library.
      • vue-responsive-video-background-player: For responsive video backgrounds.
      • canvas-confetti: Confetti effect on successful actions.
    • Fonts/Icons (BTL):
      • Font Awesome: A popular icon library.
      • Prime Icons: Icon library for PrimeVue.
  • Frontend Codes

    • Axios: A promise-based HTTP client for making API requests.

    • Vue Router (BTL): For client-side routing and navigation guards.

    • Pinia (Like Vuex) (BTL): A state management solution.

  • JavaScript Game (BTL):

    • GSAP: For game UI animation.
    • Howler: For audio in your JavaScript game.
  • Others:

    • Chart.js (BTL): Creating insightful statistics for admin
    • Google Maps:
      • Geolocation
      • Google Address Autocomplete
    • DialogFlow (BTL): FAQ Chatbot
    • @chat-ui/vue3: Messaging UI component
  • Firebase:

    • Authentication (BTL): Secure user authentication.
    • Firestore Database: A NoSQL database for storing data.
    • Firebase Hosting (BTL): For deploying your web application.
  • Backend Services (BTL):

    • Stripe: Payment service provider
    • OpenAI: Used to assist generating text
    • PaLM: Used as an alternative to OpenAI as backup
    • Replicate: A collection of pre-trained AI models

Backend (Backend Repository) (BTL)

  • Stripe: Payment service provider
  • OpenAI: Used to assist generating text
  • PaLM: Used as an alternative to OpenAI as backup
  • Replicate: Used to generate product information from an image
  • Vercel: Cloud Deployment

Beyond The Lab (BTL) Compilation List

  • Frontend
    • PrimeVue & Prime Icons
    • Anime.js
    • Canvas Confetti
    • Font Awesome
    • GSAP & Howler
    • Chart.js
    • DialogFlow
    • Vue Router
    • Pinia
  • Database
    • Firebase Authentication
    • Firebase Storage
  • Backend
    • Stripe
    • OpenAI
    • PaLM
    • Replicate
  • Deployment
    • Firebase Hosting
    • Vercel

Screenshots

Screenshot 1 Homepage.

Screenshot 2 Sustainability game where users learn more about why sustainability in fashion matters.

Screenshot 3 FAQ page powered by AI.

Screenshot 4 Listings and filters.

Screenshot 5 Wishlist.

Screenshot 6 Uploading Items.

Screenshot 1 Autofill Accuracy.

Screenshot 7 Admin dashboard and AI assistant.

Acknowledgments

References

Special thanks to the following resources that helped us along the way:

  1. Firebase

    1. Vue 3 + Firebase Authentication
    2. Cloud Firestore Database
    3. Advance Firestore Queries
    4. Firebase Storage Queries
    5. How to deploy with Firebase Hosting
  2. UI/UX

    1. PrimeVue Documentation
    2. Chat UI
  3. Vue Learnings

    1. Vue Lifecycle
  4. Others

    1. JavaScript Game Tutorial
    2. Format AM/PM
    3. DialogFlow Documentation
  5. Express JS

    1. ExpressJS Deploy w/ Vercel
    2. ExpressJS CORS
    3. CORS configuration (Not recommended)
  6. Backend APIs

    1. OpenAI Documentation
    2. OpenAI Tokens
    3. PaLM Documentation
    4. Stripe Documentation
    5. Stripe & NodeJS Video
    6. Replicate Model 1 Example Usage
    7. Replicate Model 2 Example Usage
  7. I forgot to keep track of all the links - Terris

Feel free to add more screenshots and shoutouts to your GitHub profiles, repositories, or any contributors who played a significant role in the project. Good luck with your portfolio piece!

Team Members

Terris Owen Adrian Victoria Glen
Terristwj owengohh adriank0h viqeey 0gw0

About

5BF9 A Carousell inspired platform. With Vue, Bootstrap, and PrimeVue

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

0