This repository contains the source code for the Auto Marketplace project, a seamless and intuitive platform for buying and selling vehicles online.
-
Free Vehicle Listings: List your vehicle for free on our platform. Reach a wide audience of potential buyers without any cost.
-
Advanced Search Filters: Easily find the vehicle that suits your needs with advanced search filters. Filter by make, model, year, price range, and more.
-
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.
-
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.
- Web Application: Next.js (App Router), TypeScript, Tailwind CSS & DaisyUI
- Backend (API service & cron jobs): Go
- API: gRPC
- Data Store: Xata
- Authentication: Auth0
- Deployment: Kubernetes, Helm, ArgoCD, Dockerhub
- E2E Testing: Playwright
- Infrastructure: AWS SES, AWS S3
- Other Tools: Pulumi, React-email, ImageKit, NX, Tilt, Devbox, Storybook, Thumbhash
You can run the application locally either using Kubernetes or by running commands directly. Follow these steps:
- Set Up Infrastructure: Follow the Pulumi guide to create the necessary infrastructure.
- Initialize Xata: Follow the Xata guide to set up Xata.
- 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. - Load Environment Variables: Install direnv and run
direnv allow
to load the.envrc
or.env
file. - 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).
- Set Up Docker and Kubernetes: Make sure your Docker daemon and a local Kubernetes node (e.g., Minikube, Rancher) are running.
- Start Application: Install Tilt and Run
tilt up
to deploy Targabay within local Kubernetes.
- Install Dependencies: Run
pnpm i
to install the dependencies. - Start Application: Run
pnpm dev
to start the API server and web app in development mode. - More Scripts: Check the package.json for other available scripts.
We welcome contributions! If you'd like to contribute to the code or have questions about the project, please follow our contribution guidelines.
This project is licensed under the MIT License.
If you have any questions or feedback, feel free to reach out to us at [email protected].