Git Product home page Git Product logo

kaje94 / auto-marketplace-client Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 3.0 16.44 MB

A global vehicle marketplace monorepo built with Next.js for the frontend and Go for the backend, utilizing gRPC for communication, Kubernetes for deployment, and Xata for data storage.

Home Page: https://targabay.com

License: MIT License

JavaScript 0.84% CSS 0.06% TypeScript 84.23% Shell 0.10% Starlark 0.48% Dockerfile 0.81% Go 13.49%
auth0 daisyui next14 nextjs tailwind tailwindcss typescript react server-components storybook playwright online-marketplace go grpc helm kubernetes nx xata

auto-marketplace-client's Introduction

Auto Marketplace

This repository contains the source code for the Auto Marketplace project, a seamless and intuitive platform for buying and selling vehicles online.

preview-image

Quality Gate Status Maintainability Rating Security Rating Vulnerabilities Lines of Code

Features

  1. Free Vehicle Listings: List your vehicle for free on our platform. Reach a wide audience of potential buyers without any cost.

  2. Advanced Search Filters: Easily find the vehicle that suits your needs with advanced search filters. Filter by make, model, year, price range, and more.

  3. Subscription and Notifications: Subscribe to specific criteria and receive notifications whenever new listings matching your interests are added. Stay informed without constantly checking the platform.

  4. Simple and Intuitive User Experience: We prioritize a clean and user-friendly design to ensure a straightforward experience for both buyers and sellers. Navigate through the platform with ease.

Tools and Technologies

Running Locally

You can run the application locally either using Kubernetes or by running commands directly. Follow these steps:

Prerequisites

  1. Set Up Infrastructure: Follow the Pulumi guide to create the necessary infrastructure.
  2. Initialize Xata: Follow the Xata guide to set up Xata.
  3. Create .env File: Use the values from the previous steps to create a .env file based on the .env.example file in the root of the repository.
  4. Load Environment Variables: Install direnv and run direnv allow to load the .envrc or .env file.
  5. Install Devbox: Install Devbox and run devbox shell to install the required packages and tools. (Optionally, install the Devbox VSCode extension if you use VSCode).

Running with Kubernetes

  1. Set Up Docker and Kubernetes: Make sure your Docker daemon and a local Kubernetes node (e.g., Minikube, Rancher) are running.
  2. Start Application: Install Tilt and Run tilt up to deploy Targabay within local Kubernetes.

Running with Commands

  1. Install Dependencies: Run pnpm i to install the dependencies.
  2. Start Application: Run pnpm dev to start the API server and web app in development mode.
  3. More Scripts: Check the package.json for other available scripts.

Contributing

We welcome contributions! If you'd like to contribute to the code or have questions about the project, please follow our contribution guidelines.

License

This project is licensed under the MIT License.

Contact

If you have any questions or feedback, feel free to reach out to us at [email protected].

auto-marketplace-client's People

Contributors

github-actions[bot] avatar kaje94 avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

auto-marketplace-client's Issues

Get consent from user for storing cookies

Do you want to request a feature or report a bug?

Feature

What is the current behavior?

We do not get any consent from users for storing cookies

What is the motivation / use case for changing the behavior?

Inorder to adhere with regulations such as GDPR & ePrivacy, we need to get consent from users before storing any sort of cookies that could be used to track user behavior.

:bug: unlisted listings shown on the search

Think we'll have revalidate the cache automatically after unlisting

Watch the screen recording here: https://jam.dev/c/41e6a1bb-9a83-4039-a2b4-d1a13bfabfd4

-------------------------------------

Website URL:
http://localhost:3000/LK/dashboard/my-listings

Device and browser info:
Chrome 119.0.0.0 (1680x975) | Mac OS (arm) 10.15.7

Date and time:
November 23rd 2023 | 2:31am UTC

View developer information (console logs, network requests & timing):
jam.dev/c/41e6a1bb-9a83-4039-a2b4-d1a13bfabfd4

-------------------------------------

Captured with jam.dev

Add watermarks to uploaded listing images

Do you want to request a feature or report a bug?

Feature

What is the current behavior?

Uploaded images do not have any watermarks

What is the expected behavior?

Images uploaded during listing create/edit flow should have a watermark

๐Ÿ› data not getting populated on subscription edit mode

Watch the screen recording here: https://jam.dev/c/858c9ba5-2c90-429d-88de-b056c0015dbf

-------------------------------------

Website URL:
http://localhost:3000/LK/dashboard/my-subscriptions/edit/7ec28d78-cc01-4082-a801-e3990bd23fbe

Device and browser info:
Chrome 119.0.0.0 (1680x890) | Mac OS (arm) 10.15.7

Date and time:
November 19th 2023 | 2:44pm UTC

View developer information (console logs, network requests & timing):
jam.dev/c/858c9ba5-2c90-429d-88de-b056c0015dbf

-------------------------------------

Captured with jam.dev

Show character counter in the Textarea component

Do you want to request a feature or report a bug?

Feature

What is the current behavior?

Text area does not show how many more characters can be entered by the user

What is the expected behavior?

There needs to be a number counter shown near the text area depicting how many more characters can be entered by the user

Improve storybook stories by adding interaction tests

Do you want to request a feature or report a bug?

Improvement

What is the current behavior?

Storybook test does not have any interaction tests

What is the motivation / use case for changing the behavior?

Test unit level components and avoid future errors due to regression

:bug: can not save phone number using update profile

I cant save my contact number. This occurs when i login for the first time and the update profile screen.

Watch the screen recording here: https://jam.dev/c/0d6cb2ad-9e65-43dc-90ca-ec3670403a85

-------------------------------------

Website URL:
http://localhost:3000/LK

Device and browser info:
Chrome 118.0.0.0 (1680x890) | Mac OS (arm) 10.15.7

Date and time:
October 22nd 2023 | 2:36pm UTC

View developer information (console logs, network requests & timing):
jam.dev/c/0d6cb2ad-9e65-43dc-90ca-ec3670403a85

-------------------------------------

Captured with jam.dev

Lazily load components to reduce initial load overhead

Do you want to request a feature or report a bug?

Improvement

What is the motivation / use case for changing the behavior?

Lazily loading following components and other similar components could reduce the initially loaded JS chunk size and thus also improve overall performance

  • Filters
  • Calendar component
  • Combo-box component
  • landing page search box

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Warning

These dependencies are deprecated:

Datasource Name Replacement PR?
npm @types/react-datepicker Unavailable

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • chore(deps): update dependency @types/fslightbox-react to v1.7.7
  • chore(deps): update storybook monorepo (@storybook/addon-essentials, @storybook/addon-interactions, @storybook/addon-links, @storybook/addon-onboarding, @storybook/blocks, @storybook/nextjs, @storybook/react, @storybook/test, storybook)
  • fix(deps): update dependency @formkit/auto-animate to v0.8.2
  • fix(deps): update dependency @headlessui/react to v1.7.19
  • fix(deps): update dependency @vercel/speed-insights to v1.0.12
  • fix(deps): update dependency csstype to v3.1.3
  • chore(deps): update dependency @bufbuild/protoc-gen-es to v1.10.0
  • chore(deps): update dependency @connectrpc/protoc-gen-connect-es to v1.4.0
  • chore(deps): update dependency @nx-go/nx-go to v3.2.0
  • chore(deps): update dependency @opentelemetry/api to v1.9.0
  • chore(deps): update dependency @playwright/test to v1.46.1
  • chore(deps): update dependency @storybook/test-runner to ^0.19.0
  • chore(deps): update dependency @types/node to v20.16.0
  • chore(deps): update dependency eslint-config-next to v14.2.5
  • chore(deps): update dependency eslint-plugin-playwright to ^0.22.0
  • chore(deps): update dependency eslint-plugin-prettier to v5.2.1
  • chore(deps): update dependency eslint-plugin-storybook to ^0.8.0
  • chore(deps): update dependency eslint-plugin-tailwindcss to v3.17.4
  • chore(deps): update dependency eslint-plugin-typescript-sort-keys to v3.2.0
  • chore(deps): update nrwl monorepo to v18.3.5 (@nx/devkit, @nx/eslint, @nx/eslint-plugin, @nx/next, @nx/web, nx)
  • chore(deps): update pnpm to v8.15.9
  • chore(deps): update react monorepo (@types/react, @types/react-dom, react, react-dom)
  • fix(deps): update dependency @auth0/nextjs-auth0 to v3.5.0
  • fix(deps): update dependency @bufbuild/protobuf to v1.10.0
  • fix(deps): update dependency @connectrpc/connect to v1.4.0
  • fix(deps): update dependency @hookform/resolvers to v3.9.0
  • fix(deps): update dependency @pulumi/aws to v6.49.1
  • fix(deps): update dependency @pulumi/pulumi to v3.129.0
  • fix(deps): update dependency @t3-oss/env-nextjs to ^0.11.0
  • fix(deps): update dependency @tanstack/react-query to v4.36.1
  • fix(deps): update dependency @xata.io/client to ^0.30.0
  • fix(deps): update dependency clsx to v2.1.1
  • fix(deps): update dependency embla-carousel to v8.1.8
  • fix(deps): update dependency embla-carousel-autoplay to v8.1.8
  • fix(deps): update dependency embla-carousel-react to v8.1.8
  • fix(deps): update dependency next-recaptcha-v3 to v1.4.1
  • fix(deps): update dependency query-string to v8.2.0
  • fix(deps): update dependency react-datepicker to v4.25.0 (react-datepicker, @types/react-datepicker)
  • fix(deps): update dependency react-hook-form to v7.52.2
  • fix(deps): update dependency react-number-format to v5.4.0
  • fix(deps): update dependency react-virtuoso to v4.10.1
  • fix(deps): update dependency tailwindcss to v3.4.10
  • fix(deps): update dependency typescript to v5.5.4
  • fix(deps): update module github.com/auth0/go-auth0 to v1.9.0
  • fix(deps): update module github.com/go-playground/validator/v10 to v10.22.0
  • fix(deps): update module github.com/grpc-ecosystem/go-grpc-middleware/v2 to v2.1.0
  • fix(deps): update module google.golang.org/grpc to v1.65.0
  • chore(deps): update actions/checkout action to v4
  • chore(deps): update dependency @bufbuild/protoc-gen-es to v2
  • chore(deps): update dependency eslint to v9
  • chore(deps): update dependency eslint-plugin-playwright to v1
  • chore(deps): update dependency husky to v9
  • chore(deps): update docker/build-push-action action to v6
  • chore(deps): update nrwl monorepo to v19 (major) (@nx/devkit, @nx/eslint, @nx/eslint-plugin, @nx/next, @nx/playwright, @nx/web, nx)
  • chore(deps): update pnpm to v9
  • chore(deps): update storybook monorepo to v8 (major) (@storybook/addon-essentials, @storybook/addon-interactions, @storybook/addon-links, @storybook/addon-onboarding, @storybook/blocks, @storybook/nextjs, @storybook/react, @storybook/test, storybook)
  • chore(deps): update typescript-eslint monorepo to v8 (major) (@typescript-eslint/eslint-plugin, @typescript-eslint/parser)
  • fix(deps): update dependency @bufbuild/protobuf to v2
  • fix(deps): update dependency @headlessui/react to v2
  • fix(deps): update dependency @pulumi/auth0 to v3
  • fix(deps): update dependency @tanstack/react-query to v5
  • fix(deps): update dependency daisyui to v4
  • fix(deps): update dependency query-string to v9
  • fix(deps): update dependency react-datepicker to v7 (react-datepicker, @types/react-datepicker)
  • ๐Ÿ” Create all rate-limited PRs at once ๐Ÿ”

Warning

Renovate failed to look up the following dependencies: Failed to look up npm package targabay-protos.

Files affected: apps/webapp/package.json


Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

dockerfile
apps/api-service/Dockerfile
apps/expire-listings-job/Dockerfile
apps/notify-review-job/Dockerfile
apps/subscriptions-job/Dockerfile
apps/webapp/Dockerfile
  • node 20-alpine
github-actions
.github/workflows/checks.yml
  • actions/checkout v4
  • jetify-com/devbox-install-action v0.11.0
.github/workflows/docker-push.yml
  • actions/checkout v3
  • docker/setup-qemu-action v3
  • docker/setup-buildx-action v3
  • docker/login-action v3
  • docker/build-push-action v5
gomod
apps/api-service/go.mod
  • go 1.21.0
  • github.com/auth0/go-auth0 v1.4.1
  • github.com/aws/aws-sdk-go v1.54.6
  • github.com/go-playground/validator/v10 v10.18.0
  • github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1
  • github.com/patrickmn/go-cache v2.1.0+incompatible
  • google.golang.org/grpc v1.62.0
apps/expire-listings-job/go.mod
  • go 1.21.0
  • github.com/aws/aws-sdk-go v1.54.10
apps/notify-review-job/go.mod
  • go 1.21.0
  • github.com/aws/aws-sdk-go v1.54.10
apps/subscriptions-job/go.mod
  • go 1.21.0
  • github.com/aws/aws-sdk-go v1.54.10
libs/go-utils/go.mod
  • go 1.21.0
libs/protos/gen/go/go.mod
  • go 1.21.0
npm
apps/e2e-tests/package.json
  • @playwright/test ^1.40.1
  • eslint-plugin-playwright ^1.6.2
apps/webapp/package.json
  • targabay-protos *
  • nanoid ^5.0.6
  • @connectrpc/connect-node ^1.3.0
  • @auth0/nextjs-auth0 ^3.3.0
  • @formkit/auto-animate ^0.8.0
  • @headlessui/react ^1.7.17
  • @hookform/resolvers ^3.1.1
  • @t3-oss/env-nextjs ^0.7.1
  • @tanstack/react-query ^4.35.3
  • @vercel/speed-insights ^1.0.2
  • autoprefixer 10.4.14
  • browser-image-compression ^2.0.2
  • clsx ^2.0.0
  • csstype ^3.0.10
  • daisyui ^3.9.2
  • embla-carousel 8.0.0-rc14
  • embla-carousel-autoplay 8.0.0-rc14
  • embla-carousel-react 8.0.0-rc14
  • fast-average-color ^9.4.0
  • fslightbox-react ^1.7.6
  • next 14.1.3
  • next-recaptcha-v3 ^1.3.0
  • postcss 8.4.23
  • prop-types ^15.8.1
  • query-string ^8.1.0
  • react 18.2.0
  • react-click-away-listener ^2.2.3
  • react-datepicker ^4.18.0
  • react-dom 18.2.0
  • react-dropzone ^14.2.3
  • react-hook-form ^7.45.2
  • react-hot-toast ^2.4.1
  • react-number-format ^5.3.1
  • react-virtuoso ^4.6.2
  • tailwindcss ^3.4.0
  • thumbhash ^0.1.1
  • zod ^3.23.8
  • @lenml/tokenizer-text_embedding_ada002 ^1.0.4
  • @opentelemetry/api ^1.7.0
  • @storybook/addon-essentials ^7.6.5
  • @storybook/addon-interactions ^7.6.5
  • @storybook/addon-links ^7.6.5
  • @storybook/addon-onboarding ^1.0.10
  • @storybook/blocks ^7.6.5
  • @storybook/nextjs ^7.6.5
  • @storybook/react ^7.6.5
  • @storybook/test ^7.6.5
  • @storybook/test-runner ^0.16.0
  • @types/fslightbox-react ^1.7.4
  • @types/react ^18.2.38
  • @types/react-datepicker ^4.15.0
  • @types/react-dom ^18.2.14
  • eslint-config-next 14.1.4
  • eslint-plugin-storybook ^0.6.15
  • eslint-plugin-tailwindcss ^3.13.0
  • storybook ^7.6.5
libs/protos/package.json
libs/pulumi/package.json
  • @pulumi/pulumi ^3.20.0
  • @pulumi/auth0 ^2.3.2
  • @pulumi/aws ^6.39.0
  • zod ^3.23.8
  • @react-email/components 0.0.15-canary.1
  • react-email 2.1.0-canary.1
  • react 18.2.0
  • ts-node ^10.9.2
  • @types/react ^18.2.38
libs/xata/package.json
  • @xata.io/client ^0.29.3
  • csv-parse ^5.5.5
package.json
  • @bufbuild/protobuf ^1.7.2
  • @connectrpc/connect ^1.3.0
  • typescript ^5.2.2
  • @bufbuild/buf ^1.29.0
  • @bufbuild/protoc-gen-es ^1.7.2
  • @connectrpc/protoc-gen-connect-es ^1.3.0
  • @nx-go/nx-go 3.0.0
  • @nx/devkit 18.0.4
  • @nx/eslint 18.0.4
  • @nx/next 18.0.4
  • @nx/playwright 18.3.5
  • @nx/web 18.0.4
  • @nx/eslint-plugin 18.0.4
  • @playwright/test ^1.36.0
  • @types/node 20.1.3
  • eslint ~8.57.0
  • eslint-plugin-playwright ^0.15.3
  • husky ^8.0.3
  • lint-staged ^15.2.0
  • nx 18.0.4
  • prettier ^3.3.2
  • eslint-plugin-typescript-sort-keys ^3.0.0
  • eslint-plugin-prettier ^5.0.0
  • eslint-plugin-import ^2.28.1
  • eslint-import-resolver-typescript ^3.6.1
  • eslint-config-prettier ^9.0.0
  • @typescript-eslint/parser ^6.7.3
  • @typescript-eslint/eslint-plugin ^6.16.0
  • node >=20.9.0
  • pnpm >=8
  • pnpm 8.11.0

  • Check this box to trigger a request for Renovate to run again on this repository

:bug: Can't create listings

Watch the screen recording here: https://jam.dev/c/2133dbfd-66a7-4caf-b593-b19a04545dc7

-------------------------------------

Website URL:
http://localhost:3000/LK/dashboard/new-listing

Device and browser info:
Chrome 119.0.0.0 (1680x890) | Mac OS (arm) 10.15.7

Date and time:
November 11th 2023 | 3:16am UTC

View developer information (console logs, network requests & timing):
jam.dev/c/2133dbfd-66a7-4caf-b593-b19a04545dc7

-------------------------------------

Captured with jam.dev

:bug: listing created without YOR shows a year when editing

Watch the screen recording here: https://jam.dev/c/c8696783-f133-4e3f-94d7-27fe78e6a8b6

-------------------------------------

Website URL:
http://localhost:3000/LK/dashboard/my-listings/edit/485e6289-0364-46bb-9753-8bea477d83a1

Device and browser info:
Chrome 119.0.0.0 (1680x890) | Mac OS (arm) 10.15.7

Date and time:
November 19th 2023 | 7:01pm UTC

View developer information (console logs, network requests & timing):
jam.dev/c/c8696783-f133-4e3f-94d7-27fe78e6a8b6

-------------------------------------

Captured with jam.dev

:bug: form validation errors thrown for already filled fields

This issue occurs when an first time submit to the server failed. Also, those erros don't go away until you select a different value than the already set one.

Watch the screen recording here: https://jam.dev/c/370a4573-9dc6-42a0-9d28-48d24a663db6

-------------------------------------

Website URL:
http://localhost:3000/LK/dashboard/new-listing

Device and browser info:
Chrome 119.0.0.0 (1680x890) | Mac OS (arm) 10.15.7

Date and time:
November 5th 2023 | 2:55pm UTC

View developer information (console logs, network requests & timing):
jam.dev/c/370a4573-9dc6-42a0-9d28-48d24a663db6

-------------------------------------

Captured with jam.dev

:bug: images not loading after swithcing to prod s3

Watch the screen recording here: https://jam.dev/c/ed700d70-3cae-4c7c-bf46-d3b65f8dc2b1

-------------------------------------

Website URL:
http://localhost:3000/LK/dashboard/listings/d6bca642-1d48-4f05-8f1f-138474d41ea8

Device and browser info:
Chrome 119.0.0.0 (917x975) | Mac OS (arm) 10.15.7

Date and time:
November 22nd 2023 | 11:18am UTC

View developer information (console logs, network requests & timing):
jam.dev/c/ed700d70-3cae-4c7c-bf46-d3b65f8dc2b1

-------------------------------------

Captured with jam.dev

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.