{"id":18696553,"url":"https://github.com/swarajkumarsingh/olx-clone","last_synced_at":"2025-08-01T13:42:20.062Z","repository":{"id":212229976,"uuid":"706374965","full_name":"swarajkumarsingh/olx-clone","owner":"swarajkumarsingh","description":"Olx clone, with Golang, PostgreSQL, Redis, docker, AWS S3, AWS SES, AWS SQS to achieve blazing performance, with features like product, user, seller, review, report-product, favorite. Monitoring using Prometheus \u0026 Grafana, local development using air and many more","archived":false,"fork":false,"pushed_at":"2024-06-14T07:37:21.000Z","size":11137,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-07T11:20:26.982Z","etag":null,"topics":["aws","aws-ses","aws-sqs","backend","clone","docker","go-air","golang","grafana","olx-clone","postgresql","prometheus","redis"],"latest_commit_sha":null,"homepage":"https://github.com/swarajkumarsingh/olx-clone","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/swarajkumarsingh.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-17T20:28:07.000Z","updated_at":"2024-09-24T10:01:10.000Z","dependencies_parsed_at":"2023-12-13T07:27:59.727Z","dependency_job_id":"e03d763d-3220-4f48-97f6-6d0750ff7499","html_url":"https://github.com/swarajkumarsingh/olx-clone","commit_stats":null,"previous_names":["swarajkumarsingh/olx-clone"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swarajkumarsingh%2Folx-clone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swarajkumarsingh%2Folx-clone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swarajkumarsingh%2Folx-clone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swarajkumarsingh%2Folx-clone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swarajkumarsingh","download_url":"https://codeload.github.com/swarajkumarsingh/olx-clone/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231583005,"owners_count":18395821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-ses","aws-sqs","backend","clone","docker","go-air","golang","grafana","olx-clone","postgresql","prometheus","redis"],"created_at":"2024-11-07T11:19:29.172Z","updated_at":"2024-12-28T03:42:02.176Z","avatar_url":"https://github.com/swarajkumarsingh.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# \u003ch1 align=\"center\"\u003e Olx clone(Backend) \u003c/h1\u003e\n___\n\u003cp align=\"center\"\u003e\n\u003ca href=\"Java url\"\u003e\n    \u003cimg alt=\"Java\" src=\"https://img.shields.io/badge/Go-00ADD8?style=for-the-badge\u0026logo=go\u0026logoColor=white\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"License url\" \u003e\n        \u003cimg alt=\"BSD Clause 3\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg\"/\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"left\"\u003e\n\n## Overview\nOlx clone, with Golang, PostgreSQL, Redis, docker, AWS S3, AWS SES, AWS SQS to achieve blazing performance, with features like product, user, seller, review, report-product, favorite and many more, this product compress of 25+ working APIs, also health API.\n\n\n## Table of Contents\n\n- [Features](#features)\n- [Prerequisites](#prerequisites)\n- [Getting Started](#getting-started)\n   - [Environment Variables](#environment-variables)\n- [Contributing](#contributing)\n- [Contact](#contact)\n- [License](#license)\n\n## Technologies \u003ca name=\"technologies\"\u003e\u003c/a\u003e\n\n- [Go](https://golang.org/)\n- [Docker](https://www.docker.com/)\n- [Gin](https://gin-gonic.com)\n- [PostgreSQL](https://www.postgresql.org/)\n- [Redis](https://redis.io/)\n- [AWS S3](https://aws.amazon.com/)\n- [AWS SES](https://aws.amazon.com/)\n- [AWS SQS](https://aws.amazon.com/)\n\n## Prerequisites\n\n- [Docker](https://www.docker.com/)\n\n## Features\n\n- Olx clone with 25+ working APIs\n- For scale we used AWS SES for email service\n- For scale we used AWS S3 for file storage\n- Performance DB we used PostgresQL \n- Dockerized for easy deployment\n\n## Environment Variables\n\nTable bellow shows the obligatory environment variables for mariadb container. You should set them based on what was also set for backend container.\n\nEnvironment variable  | Default value | Optional\n--- | --- | ---\nSTAGE | \"\" | `YES`\nDB_HOST | http://127.0.0.1 | `YES`\nDB_PORT | 5432 | `YES`\nDB_USER | user | `YES`\nDB_PASSWORD | postgres | `YES`\nDB_NAME | olx-clone | `YES`\nREDIS_HOST |  | `NO`\nREDIS_PORT |  | `NO`\nREDIS_USER |  | `NO`\nREDIS_PASSWORD |  | `NO`\nSENTRY_DSN |  | `NO`\nDD_AGENT_HOST |  | `NO`\nS3_BUCKET |  | `NO`\n\n## Getting started\n   ```\n   First of all, correctly configure the Golang development environment on your machine, see https://go.dev/doc/install\n   \n   - Clone this repository:\n   $ git clone https://github.com/swarajkumarsingh/olx-clone\n\n   - Enter in directory:\n   $ cd olx-clone\n\n   - For install dependencies(optional):\n   $ make install\n\n   - Run the app: \n   $ ./run.sh\n   ```\n\n---\n\n## DataBase Design\n     \n#### User Table\n\n| Column Name | Data Type | Description                       |\n| ----------- | --------- | --------------------------------- |\n| id          | INT (Primary Key) | Unique identifier for each user |\n| username    | VARCHAR(255) |  Unique identifier for each user                |\n| fullname    | VARCHAR(255) | User's fullname                  |\n| avatar       | TEXT | User's profile picture             |\n| email       | VARCHAR(255) | User's email address             |\n| password    | VARCHAR(255) | Securely hashed password          |\n| location       | TEXT | User's profile picture             |\n| coordinates       | TEXT | User's profile picture             |\n| otp       | TEXT | User's profile picture             |\n| otp_expiration  | TIMESTAMP | OTP timestamp    |\n| created_at  | TIMESTAMP | Timestamp of account creation    |\n| updated_at  | TIMESTAMP | Timestamp of account modification|\n     \n#### Seller Table\n\n| Column Name | Data Type | Description                       |\n| ----------- | --------- | --------------------------------- |\n| id          | INT (Primary Key) | Unique identifier for each seller |\n| username    | VARCHAR(255) |  Unique identifier for each seller           |\n| fullname    | VARCHAR(255) | Seller's fullname                  |\n| description       | TEXT | Seller description             |\n| is_verified       | BOOLEAN | Checks if the seller is verified             |\n| avatar       | TEXT | Seller's profile picture             |\n| phone       | VARCHAR(12) | Seller's phone             |\n| email       | VARCHAR(100) | Seller's email address             |\n| password    | VARCHAR(255) | Securely hashed password          |\n| city    | VARCHAR(50) | Seller's city      |\n| state    | VARCHAR(50) | Seller's state          |\n| country    | VARCHAR(50) | Seller's country          |\n| zip_code    | VARCHAR(50) | Seller's zip-code          |\n| location       | TEXT | Seller's location             |\n| coordinates       | TEXT | Seller's coordinates             |\n| rating       | TEXT | Seller's rating             |\n| account_status       | TEXT | Seller's account_status             |\n| otp       | TEXT | Seller's otp           |\n| otp_expiration  | TIMESTAMP | OTP timestamp    |\n| created_at  | TIMESTAMP | Timestamp of account creation    |\n     \n#### Product Table\n\n| Column Name | Data Type | Description                       |\n| ----------- | --------- | --------------------------------- |\n| id          | INT (Primary Key) | Unique identifier for each seller |\n| title    | VARCHAR(255) | Title's for the product |\n| description       | TEXT | Seller description         |\n| location       | TEXT | Seller's location       |\n| coordinates       | TEXT | Seller's coordinates             |\n| views       | BIGINT | Views count  |\n| price       | VARCHAR(100) | Views count  |\n| seller_id  | ID | Seller's ID    |\n| created_at  | TIMESTAMP | Timestamp of account creation    |\n     \n#### Review Table\n\n| Column Name | Data Type | Description                       |\n| ----------- | --------- | --------------------------------- |\n| id          | ID (Primary Key) | Unique identifier for each seller |\n| user_id  | ID | User's ID    |\n| product_id  | ID | Products's ID    |\n| rating  | TEXT | Products's rating    |\n| comment  | TEXT | Products's comment    |\n| created_at  | TIMESTAMP | Timestamp of account creation    |\n     \n#### Seller Reports Table\n\n| Column Name | Data Type | Description                       |\n| ----------- | --------- | --------------------------------- |\n| id          | ID (Primary Key) | Unique identifier for each seller |\n| user_id  | ID | User's ID    |\n| product_id  | ID | Products's ID    |\n| message  | VARCHAR(100) | Report message    |\n| created_at  | TIMESTAMP | Timestamp of account creation    |\n     \n#### Favorites Table\n\n| Column Name | Data Type | Description                       |\n| ----------- | --------- | --------------------------------- |\n| id          | ID (Primary Key) | Unique identifier for each seller |\n| user_id  | ID | User's ID    |\n| product_id  | ID | Products's ID    |\n| created_at  | TIMESTAMP | Timestamp of account creation    |\n     \n#### Product Views Table\n\n| Column Name | Data Type | Description                       |\n| ----------- | --------- | --------------------------------- |\n| id          | ID (Primary Key) | Unique identifier for each seller |\n| user_id  | ID | User's ID    |\n| product_id  | ID | Products's ID    |\n| created_at  | TIMESTAMP | Timestamp of account creation    |\n\n### Contributing\nContributions are welcome! If you'd like to contribute to this project, please follow these guidelines:\n```\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Make your changes and test thoroughly.\n4. Commit your changes with clear commit messages.\n5. Create a pull request against the main branch.\n```\n\n\n## Disclaimer\n\nThis application is a personal project built with educational and learning purposes in mind. It is neither affiliated nor endorsed by Amazon in any way. While the app features product details and images inspired by Amazon, these are solely for demonstration purposes and may not represent actual products. All rights to these elements belong to their respective owners. We are using them for educational purposes only and have no intention of commercial exploitation.\n\nAdditionally, be aware that any attempts to place orders within this prototype are purely for testing purposes and will not result in actual product deliveries or charges in the real-world. This environment is designated exclusively for simulation and development purposes\n\n## Contact\n\n- Swaraj Singh \u003cbr\u003e \u003cbr\u003e\n  \u003ca  href=\"https://www.linkedin.com/in/swarajkumarsingh/\" target=\"_blank\"\u003e\u003cimg alt=\"LinkedIn\" src=\"https://img.shields.io/badge/linkedin%20-%230077B5.svg?\u0026style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\" /\u003e\u003c/a\u003e\n  \u003ca href=\"sswaraj169@gmail.com\"\u003e\u003cimg  alt=\"Gmail\" src=\"https://img.shields.io/badge/Gmail-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white\" /\u003e\n\n  feel free to contact me!\n\n## License\n\n\u003e You can check out the full license [here](https://github.com/swarajkumarsingh/olx-clone/blob/main/LICENSE)\n\nThis project is licensed under the terms of the **MIT** license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswarajkumarsingh%2Folx-clone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswarajkumarsingh%2Folx-clone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswarajkumarsingh%2Folx-clone/lists"}