{"id":27068022,"url":"https://github.com/tmp-the-major-project/thrift-store","last_synced_at":"2025-04-05T20:17:36.502Z","repository":{"id":257648098,"uuid":"847427039","full_name":"TMP-The-Major-Project/Thrift-Store","owner":"TMP-The-Major-Project","description":"A thrifty way to shop","archived":false,"fork":false,"pushed_at":"2025-04-01T20:15:03.000Z","size":30083,"stargazers_count":5,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T21:26:47.071Z","etag":null,"topics":["ecommerce","go","golang","project","react","thrift"],"latest_commit_sha":null,"homepage":"https://thrift.bynisarg.in/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TMP-The-Major-Project.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":"2024-08-25T19:39:28.000Z","updated_at":"2025-04-01T20:15:08.000Z","dependencies_parsed_at":"2024-09-17T23:15:46.590Z","dependency_job_id":"d8e8395c-ba31-41ac-8f60-776d1e6ebc59","html_url":"https://github.com/TMP-The-Major-Project/Thrift-Store","commit_stats":null,"previous_names":["tmp-the-major-project/thrift-store"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TMP-The-Major-Project%2FThrift-Store","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TMP-The-Major-Project%2FThrift-Store/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TMP-The-Major-Project%2FThrift-Store/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TMP-The-Major-Project%2FThrift-Store/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TMP-The-Major-Project","download_url":"https://codeload.github.com/TMP-The-Major-Project/Thrift-Store/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247393569,"owners_count":20931813,"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":["ecommerce","go","golang","project","react","thrift"],"created_at":"2025-04-05T20:17:35.927Z","updated_at":"2025-04-05T20:17:36.472Z","avatar_url":"https://github.com/TMP-The-Major-Project.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Thrift Project\r\n\r\nWelcome to The Thrift Project! This is a web application designed to provide users with a platform to buy and sell thrifted clothing and accessories. The application features user authentication, product recommendations, a shopping cart, and an admin dashboard for managing products.\r\n\r\n---\r\n\r\n## Table of Contents\r\n\r\n1. [Table of Contents](#table-of-contents)\r\n2. [Usage](#usage)  \r\n3. [Contribution](#contribution)  \r\n4. [License](#license)  \r\n5. [Features](#features)  \r\n6. [Technologies Used](#technologies-used)  \r\n7. [Getting Started](#getting-started)  \r\n    - [Prerequisites](#prerequisites)  \r\n    - [Installation](#installation)  \r\n8. [API Endpoints](#api-endpoints)  \r\n    - [Authentication](#authentication)  \r\n    - [Products](#products)  \r\n    - [Cart](#cart)  \r\n\r\n---\r\n\r\n## Usage\r\n\r\n- Create an account or log in to access the features.\r\n- Browse through the products and add items to your cart.\r\n- Proceed to checkout to complete your purchase.\r\n- Admin users can manage products through the admin dashboard.\r\n\r\n---\r\n\r\n## Contribution\r\nContributions are welcome! Please feel free to submit a pull request or open an issue to discuss improvements or bugs.\r\nYou can read the complete Contributing Guide here - [file](.github/CONTRIBUTING.md)\r\n\r\n---\r\n\r\n## License\r\n [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](LICENSE)\r\n\r\n---\r\n\r\n## Features\r\n\r\n- **User Authentication**: Users can register, log in, and log out.  \r\n- **Product Listings**: Browse and search through a variety of thrifted products.  \r\n- **Shopping Cart**: Add products to a cart and proceed to checkout.  \r\n- **Product Recommendations**: Personalized product recommendations based on user behavior.  \r\n- **Admin Dashboard**: Admins can add, edit, and delete products from the inventory.  \r\n\r\n[(Back to top)](#table-of-contents)\r\n\r\n---\r\n\r\n## Technologies Used\r\n\r\n- **Frontend**: React, React Router, Axios, CSS  \r\n- **Backend**: Go (Fiber framework), MongoDB/PostgreSQL  \r\n- **Machine Learning**: Python (Pandas, Scikit-learn) for product recommendations  \r\n- **Deployment**: Docker, Jenkins and Cloudflare  \r\n\r\n---\r\n\r\n## Getting Started\r\n\r\nTo get a local copy of the project up and running, follow these steps:\r\n\r\n### Prerequisites\r\n\r\nEnsure the following tools are installed:  \r\n- Node.js and npm (for frontend)  \r\n- Go (for backend)  \r\n- MongoDB or PostgreSQL (for database)  \r\n- Python (for recommendation system)  \r\n- Docker (optional, for containerization)  \r\n\r\n### Installation\r\n\r\n1. Clone the repository:\r\n\r\n   ```bash\r\n   git clone https://github.com/yourusername/thrift-store.git\r\n   cd thrift-store\r\n   ```\r\n\r\n2. Set up the backend:\r\n\r\n- Navigate to the backend directory and install dependencies:\r\n\r\n  ``` bash\r\n  cd backend\r\n  go mod tidy\r\n  ```\r\n  \r\n-  Set up your database and update the .env file with your database credentials.\r\n\r\n3. Set up the frontend:\r\n\r\n- Navigate to the frontend directory and install dependencies:\r\n\r\n  ``` bash\r\n  cd frontend\r\n  npm install\r\n  ```\r\n\r\n4. Set up ML model:\r\n\r\n- Navigate to the model/Recomender folder and setup virtual environment:\r\n\r\n  ``` bash\r\n  cd model/Recomender\r\n  source venv/bin/activate\r\n  pip install -r requirements.txt\r\n  ```\r\n\r\n5. Run the applications:\r\n\r\n- Start the backend server:\r\n\r\n  ``` bash\r\n  go run main.go\r\n\r\n  ```\r\n- Start the frontend server:\r\n\r\n  ``` bash\r\n  npm start\r\n\r\n  ```\r\n- Start the ML Model server:\r\n\r\n  ``` bash\r\n  python main.py\r\n\r\n  ```\r\n6. Access the application:\r\nOpen your browser and navigate to `http://localhost:3000`\r\n\r\n[(Back to top)](#table-of-contents)\r\n\r\n---\r\n\r\n## API Endpoints\r\n\r\n### Authentication\r\n\r\n    POST /login: Log in a user.\r\n    POST /register: Register a new user.\r\n    POST /logout: Log out a user.\r\n\r\n### Products\r\n\r\n    GET /products: Retrieve all products.\r\n    GET /products/:id: Retrieve a product by ID.\r\n    POST /products/add: Add a new product.\r\n    PUT /products/:id: Update a product by ID.\r\n    DELETE /products/:id: Delete a product by ID.\r\n\r\n### Cart\r\n\r\n    POST /cart/add: Add an item to the cart.\r\n    DELETE /cart/delete/:id: Remove an item from the cart.\r\n    GET /cart/items: Get all items in the cart.\r\n    GET /cart/total: Get the total price of items in the cart.\r\n    DELETE /cart/clear: Clear all items in the cart.\r\n[(Back to top)](#table-of-contents)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmp-the-major-project%2Fthrift-store","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftmp-the-major-project%2Fthrift-store","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmp-the-major-project%2Fthrift-store/lists"}