|
1 | | -# Vinted-API-RevEng Repository |
| 1 | +# Vinted Management Tool |
2 | 2 |
|
3 | | -# Project Setup Guide |
| 3 | +A local tool to help you manage your Vinted account super fast ! |
| 4 | +Interface in French only for now. |
4 | 5 |
|
5 | | -## Prerequisites |
6 | | -- This project is optimized for Windows; icons may not display correctly on other platforms. |
7 | | -- Ensure you have Python installed. |
| 6 | +## Getting Started |
8 | 7 |
|
9 | | -## Installation |
10 | | -1. Install project dependencies by running the following command: |
11 | | - ```bash |
12 | | - pip install -r requirements.txt |
13 | | - ``` |
| 8 | +### Prerequisites for Non-Developers |
14 | 9 |
|
15 | | -## Running the Project |
16 | | -1. Open the root folder in Visual Studio Code (VSC). |
17 | | -2. Navigate to the `gui/py` directory. |
18 | | -3. Run the `launcher.py` file to start the application. |
| 10 | +Before starting, you'll need to install: |
19 | 11 |
|
| 12 | +- [Node.js](https://nodejs.org/en/download) |
| 13 | +- [Python](https://www.python.org/) |
20 | 14 |
|
21 | | -# Note of the Creator (02/01/2024) |
| 15 | +### First Time Setup |
22 | 16 |
|
23 | | -## Project Timeline |
| 17 | +```bash |
| 18 | +cd frontend |
| 19 | +npm install |
24 | 20 |
|
25 | | -- **Start project:** 02/2023 |
26 | | -- **API Rev:** 06/2023 |
27 | | -- **End project:** 08/2023 |
| 21 | +cd ../backend |
| 22 | +pip install -r requirements.txt |
| 23 | +``` |
28 | 24 |
|
| 25 | +### Running the Application |
29 | 26 |
|
30 | | -This project was stopped when it was found to involve unauthorized data retrieval, including user addresses and gender information, which isn't allowed by default. |
| 27 | +```bash |
| 28 | +# Start Frontend (Development) |
| 29 | +cd frontend |
| 30 | +npm run dev |
| 31 | +# OR for Production |
| 32 | +npm run build |
| 33 | +npm run preview # Access at http://localhost:4173/ |
31 | 34 |
|
32 | | -There are tools that simulate clicking actions on behalf of a user (they are all illegal). By the way, all Discord bot scrapers for ads are also illegal. |
| 35 | +# Start Backend (in another terminal) |
| 36 | +cd backend |
| 37 | +fastapi dev main.py |
| 38 | +``` |
33 | 39 |
|
34 | | -This is where I began initially. Then, I discovered that Vinted had an API. Initially unsuccessful, I revisited the project a couple of weeks/months later, using Man-in-the-Middle software. I spent two months comprehensively understanding everything, especially the authentication process. |
| 40 | +> **Note**: A Docker version might be released in the future to simplify setup for non-developers. |
35 | 41 |
|
36 | | -# This code and engineering could potentially be used to create a business that Vinties might consider paying for, as it offers significant time-saving benefits |
| 42 | +## Features Status |
37 | 43 |
|
38 | | -I chose not to proceed further because I don't want to earn money in that manner, even though it could generate passive income and create job opportunities. I reached out to developers from the Vinted team, and my goal for the upcoming years is to get a job at Vinted, as it's one of my dream companies. I wish I could implement some features into the official app. |
| 44 | +| Feature | Description | Status | |
| 45 | +| ---------------------- | -------------------------------------------------------- | -------------------- | |
| 46 | +| Conversation Cleanup | Auto-delete conversations after x months of inactivity | ⚒️ Under Refactoring | |
| 47 | +| Ad Refresh | Automatic refreshing of listings | ⚒️ Under Refactoring | |
| 48 | +| Sales Analytics | Export transactions, generate graphs & statistics | 📝 To Be Done | |
| 49 | +| Annual Reports | Yearly compatible reporting system | 📝 To Be Done | |
| 50 | +| Favorite Messages | Quick-copy system for 5 favorite messages | 📝 To Be Done | |
| 51 | +| Publication Menu | Database-linked posting system with search functionality | 📝 To Be Done | |
| 52 | +| Shipping Labels | Automatic retrieval of shipping labels | ⚠️ Not Planned | |
| 53 | +| Thank You Messages | Add customizable thank-you messages on shipping labels | ⚠️ Not Planned | |
| 54 | +| Feedback System | Random automated feedback for transactions | ⚠️ Not Planned | |
| 55 | +| Like Notifications | Auto-send notifications to users who liked an item | ⚠️ Not Planned | |
| 56 | +| Auto Purchase Response | Automatic message when a buyer purchases an item | ⚠️ Not Planned | |
| 57 | +| Item Database | Auto re upload for items with multiple copies | ⚠️ Not Planned | |
39 | 58 |
|
40 | | -Vinted stores the access token in a cookie. This is why the app operates for a limited time, requiring the user to copy their access token again, as the refresh token isn't stored on the client side due to security reasons. |
| 59 | +## Legal Notice |
41 | 60 |
|
42 | | -This project improved my skills. If I did it again, I'd aim to use more powerful tools like Git, Django, and a JS framework for the frontend to work faster. I'd focus on creating a secure online service. Now, I have a better understanding of API authentication. |
43 | | - |
44 | | - |
45 | | -# Project Considerations 💡 |
46 | | - |
47 | | -- Use a dedicated email address for Vinted to avoid issues with other emails. |
48 | | - |
49 | | -## TODOs |
50 | | - |
51 | | -### Frontend: |
52 | | -- Implement a website using a framework for an updated and visually appealing interface. |
53 | | -- Develop a subscriber messaging feature (e.g., promo examples). |
54 | | -- Design a custom thank-you message interface based on the buyer's gender. |
55 | | -- Create a customizable feedback page template with the ability to add various custom messages based on time (day or evening) and user's gender. |
56 | | -- Establish a pop-up notification linked to the database, signaling low stock of a product, with an option to update stock status within the app. |
57 | | - |
58 | | -### Backend: |
59 | | -- Create a database. |
60 | | -- Utilize a framework like Django. |
61 | | -- Develop a publication menu linked to the database (search bar with ad titles, NEW Article => Add to the database (optional but checked by default)). |
62 | | -- Enable 5 favorite messages that can be easily copied by clicking a button. |
63 | | -- Create a feature for an annual report compatible each year. |
64 | | - |
65 | | -### Client App: |
66 | | -- Build a desktop application specifically for printing file. |
67 | | - |
68 | | ------------------------------------ |
69 | | -## Application Features |
70 | | ------------------------------------ |
71 | | - |
72 | | -### Developed Features 🚀 |
73 | | - |
74 | | -#### Vinted Features: |
75 | | -- Automatic retrieval of Vinted shipping labels. |
76 | | -- Addition of customizable thank-you messages on a blank section of the shipping label. |
77 | | -- Automatic message when a buyer purchases an item. |
78 | | -- Auto-delete conversation if no messages for x months. |
79 | | -- Random auto leave feedbacks. |
80 | | -- Auto-send notifications to users who liked an item. |
81 | | -- Database of items for quick reuploading of templates for items you have multiple copies of. |
82 | | -- Auto print of shipping labels automatically (Adobe Reader installed needed). |
83 | | -- Auto accounting: exportation of all transactions and generation of a graph & stats about sales & visualization of data. |
84 | | - |
85 | | -#### Mail Management: |
86 | | -- Auto-delete notification emails. |
87 | | -- Automated sorting based on their source (LebonCoin, Vinted, Carriers, ...). |
88 | | - |
89 | | -#### In Development: |
90 | | -- Ad refresh (working but limited by server-side request limits) so the number of refreshed ads is restricted per access token. |
| 61 | +This tool is for personal use only and must comply with Vinted's terms of service. Any automated data collection must respect platform policies and user privacy. |
0 commit comments