Find Jobs
Hire Freelancers

Desktop Application: Advanced Keyword Grouper. Payout: $500 or more.

$500-5000 USD

Selesai
Dibuat lebih dari 13 tahun yang lalu

$500-5000 USD

Dibayar ketika dikirim
Hi, I would like to find a very talented coder to code a desktop application. It is an advanced keyword grouper that I have designed. This keyword grouping application will be used to group keywords lists of up to 100,000 and sometimes more. Based on the design and the functions it has, it will be extremely resource-hungry, so the code and the language must be as clean, efficient and powerful as possible. Very detailed instructions will follow right under... This is a serious project, so it should attract only serious bidders who know what they are doing. Please note: To filter out bad coders who can't follow simple instructions from the start, I ask the bidders to do the following: 1. Read ALL the project BEFORE bidding. 2. Tell me in WHAT LANGUAGE you will code the software and WHY (is it the most efficient for the job?) 3. Tell me if you have experience coding similar applications. 4. Tell me how many hours it will take you (approximately) to code this application and how hard/easy it will be for YOU. If you don't reply with an answer to all these 4 questions, you will NEVER be selected for the job, as it will mean that you're not able to read correctly through the first 10 lines of a project. Thanks a lot and happy reading! Jerry. ## Deliverables **Let's start:** To begin, here's a GUI prototype I have designed using a GUI design software. I'm not a software designer, so it's not very good-looking, it's just to give you a VERY good idea of the layout and the functions of the application. It is NOT a conventional GUI. So if you use different elements for the layout it's perfectly fine, as long as ALL the features are there. This is only a very limited example. In the reality, there will be WAY more keywords and groups. You will have to re-design the GUI (correctly, not like me! :) and code everything. (if you don't have a .GUI viewer, you can download one there for free: <[login to view URL]> **STEP 1:** [Keyword grouper GUI][1] (open with a .GUI viewer, save to disk) [Keyword grouper GUI screenshot image][2] (zoom in to see more details) (the user enters keywords to be grouped in the left field) **STEP 2:** [Keyword grouper GUI][3] (open with a .GUI viewer, save to disk) [Keyword grouper GUI screenshot image][4] (zoom in to see more details) (the initial automatic grouping is done) **STEP 3:** [Keyword grouper GUI][5] (open with a .GUI viewer, save to disk) [Keyword grouper GUI screenshot image][6] (zoom in to see more details) (the user continues grouping) **Let's go over each element of the entire application and I will explain in details what they do.** **The button "Import Keyword List From File" does:** Allows the user to import a keyword list from a .txt file. **The box "Paste Keyword List" does:** Allows the user to paste a keyword list from the clipboard (from a .txt file or .xls or .csv or other) into that box. **The button "Start Initial Grouping >" does:** It scans for the entire keyword list. It looks for single WORDS within keywords and find other keywords that CONTAIN the same word OR the same STRING. Example: keyword1="ati" keyword2="ati drivers" keyword3="epson" keyword4="epson international" The grouper locates the first WORD: "ati" It then recognizes other instances of the word "ati" in keyword2 It then recognizes the string "ati" located in the word "intern**ati**onal" of the keyword "epson intern**ati**onal". If a word has **2 instances or more**, the grouper places those keywords in their dedicated group. In this example: ("ati") and sub-groups ("ati [word]" and "ati [string]"). The keywords "ati" & "ati drivers" go into the sub-group "ati [word]" and the keyword "epson international" goes into the sub-group "ati [string]". The name of the group is always the word. In this case: "ati". If any given keyword fits MORE than 1 group, then it is DUPLICATED as many times as it SHOULD to appear in the groups it HAS to appear in. This duplication is WANTED and very important. The initial grouper does this for EVERY WORD of the entire keyword list (except ignored words, more info later). NOTE: the word can also be numbers or combinations of both. Examples: "directx9" "404" "54"... If there is no keyword into the "[string]" sub-group of any particular group, then it's invisible. There CAN NOT be duplicate keywords in the SAME GROUP. If there is a duplicate, between [word] and [string] sub-groups, then [word] has the priority and the other is deleted. Here's an example: "ati corporation" would be located in the [word] and in the [string] sub-groups. Because, it contains the word "ati" and the string ...ati... in the word "corpor**ati**on". The duplicate keyword is automatically deleted (or never inserted) from the [string] sub-group (without user seeing it). After that initial grouping, the software allows users to drill down even deeper and continue grouping (more info later...). **The "Ignore these words when grouping:" box:** Prevent these words from being USED as groups. The grouper will NOT search for instances of these word. **The "Export Output to Excel" button:** Allows the user to export the output to an excel file (.csv, .xls, xlsx). The user can select between those 3. The output file will contain 3 columns with their titles in cells A1, A2, A3: A1: "Ad group". In this column, all the group names will be present in EACH row next to their keywords (in column B) A2: "Keyword" In this column, all the keywords will be present, next to their corresponding group (adgroup, in column A) A3: "Group Confirmed" In this column, it will be indicated by "yes" or "no" in EACH row (more info on this later) **NOW, PLEASE HAVE ANOTHER LOOK AT THE STEP 2 for the following explanations:** [Keyword grouper GUI step 2][3] From top to bottom: **"Common root: 1st word": **Indicates the title of the table located underneath. This table is where all the keywords that share a common root (single word or string) will be placed. All the text lines written ABOVE the table are self-explanatory. At the left, they allow to expand and collapse all groups inside the table at the click of a button. At the right, it dynamically calculates the numbers of groups, keywords with duplicate and keywords without duplicate. **The table:** If you analyze carefully the .GUI, it's easy to understand. **1.** The user has clicked on the button "Start Initial Grouping". The grouping has gone through the process explained above. **2.** The keywords are now placed (and duplicated when needed) in their corresponding groups. **The first column of the table (Groups, sub-groups & keywords):** In the example of [Keyword grouper GUI step 2][3], there are 3 groups created. "ati", "epson", "lexmark". The subgroup [word] contains the keywords that contain the same common WORD. The subgroup [string] contains the keywords that contain the same common STRING. In the "ati" example; the "ati [string]" contains 2 keywords that contain the string "...ati..", in the words "intern**ati**onal" and "corpor**ati**on". It's not WORDS, it's STRINGS, so they deserve to be in their own sub-group. This is the common format for subgroups: "insertwordhere [word]" and "insertwordhere [string]" The number "[2]" besides certain keywords indicates the number of instances of this specific keyword in the entire list of keywords (duplicate). The group "!ungrouped" contains all the keywords that could not fit ANY of the groups above (don't share any common root (word or string) with other keywords in the list. This group should always be placed at the bottom. **The second column of the table (keywords):** It simply indicates the number of keywords for each group and each subgroup. **The third column of the table (Confirm grouping):** 1. It removes ALL duplicates from the OTHER groups (related to the group being confirmed, obviously) that have NOT been confirmed yet. 2. It disables the keywords so they can no longer be moved, edited or deleted. (except they can be moved to the next common root grouping window, with the next common root button) 3. It enables the "Next common root" button, to group based on another common root (second, third or fourth word). Here's an example to help you understand: Look at [Keyword grouper GUI step 2][3] again. If the user clicks on "Yes" (to confirm the grouping) besides the "epson" group, then the keyword "epson international" will be removed from the group "ati". Therefore, "epson international" will no longer be a duplicate and the number "[2]" besides the keyword will disappear. **"Undo"** does the following: 1. It undoes all 3 features of the "Confirm Grouping" button. Pretty straight-forward. ** The fourth column of the table (Next common root (>>>)):** 1. It groups EXACTLY the same way than the "Start Initial Grouping >" button, BUT only for the keywords located in the group. It will search for a SECOND common root (or a third or a fourth common root, depending on the table where the keywords are located). To understand this, have a look at: [Keyword grouper GUI Step 3][5]. Notice the table labeled "Common root: 2nd word". You can see that the grouper has found a SECOND common root for those keywords located in the group "ati". In fact, it has found 3 new and therefore, created 3 new groups: "ati card", "ati drivers", "ati graphics". Go back and forth between the [Keyword grouper GUI step 2][3] and [Keyword grouper GUI Step 3][5], to see the keywords that have been assigned a new group. 2. It disables the "Undo" button of the same group. 3. It enables the "Cancel" button of the same group. (note: you might ask: "If the user confirms the group "ati card", then the group "ati graphics" will contain only 1 keyword... What should happen?" Good question! :-) Answer: "The group remains intact and contains only 1 keyword. If a group contains 0 keywords, then it disappears." **The "Cancel" button does the following:** 1. It takes back the keywords that have been transferred to the next common root window (table) and puts them back into its corresponding group. Doing this removes the corresponding group and all its keywords from the window at the right, obviously. 2. It re-enables the ">>>" button. 3. It re-enables the "Undo" button, so the keywords can be edited, moved or deleted, once again. 4. The Cancel button is disabled when the words that were contained in its group has been confirmed in the next table. The user has to "Undo" the grouping(s) in the next table to be able to use the "cancel" button of the previous table. (otherwise the keywords in the next tables are disabled when the group is confirmed, therefore, they cannot be moved, remember? ;-) **NOTE: All 4 columns in each table must have the ability to be sorted ascending and descending (3rd and 4th columns are sorted by enabled/disabled buttons).** Note2: the "!ungrouped" group does not have any buttons, because it doesn't logically need them. If should always remain editable. The "!ungrouped" group always remains in the first table. When keywords located in the 2nd, 3rd or 4th tables are moved the "!ungrouped" group, they appear in it, in the first table. **There are 4 common root windows (tables), allowing to drill down and group keywords up to 4 common root words (& strings) (when possible).** **Now, here are the editing functions:** **keywords**: keywords have a right-click menu: Edit, Copy, Cut, Paste, Move to !ungrouped, Navigate to next corresponding duplicate, Delete, Delete all duplicates. All these functions have a keyword shortcut that I'm not sure about yet (will have to discuss with the coder). It could be Ctrl+U ) and so on... Copy (Ctrl+C), Paste (Ctrl+V), Cut (Ctrl+Z), Move to "!ungrouped" (could be Ctrl+U, or other), Navigate to next corresponding duplicate (could be Ctrl+N), Delete (Del), Delete all duplicates (Shift+Del) The function "Navigate to next corresponding duplicate" allows the user who select a keyword that has one or more duplicate in other groups, to jump directly to the next duplicate keyword (and automatically select it). The others are standard and self-explanatory. They should all act exactly like in a common Microsoft Windows' window. If I double click on any keyword (or group) with a long interval, then I can edit. Ctrl+F allows the user to search for a keyword in the selected table. The application must have the ability to select a bunch of keywords exactly like in a Microsoft Windows' window: (hold Ctrl+click to select random keywords)(hold Shift+Click to select adjacent keywords). **groups and sub-groups**: groups and sub-groups right-click menu: Edit, Move all keywords to !ungrouped, Delete with the same keyboard shortcuts and functions than keywords. **The Menu bar and the toolbar**: These are self explanatory and should contain all the features that are contained in the main application. Especially "File" and "Edit". We must be able to Save the project, close the application, and re-open the project to where we left off. So that's it!!! I might have forgotten some details... If you have any question, please ask! Thanks, Jerry.
ID Proyek: 3661745

Tentang proyek

14 proposal
Proyek remot
Aktif 14 tahun yang lalu

Ingin menghasilkan uang?

Keuntungan menawar di Freelancer

Tentukan anggaran dan garis waktu Anda
Dapatkan bayaran atas pekerjaan Anda
Uraikan proposal Anda
Gratis mendaftar dan menawar pekerjaan
Diberikan kepada:
Avatar Pengguna
See private message.
$850 USD dalam 29 hari
5,0 (19 ulasan)
6,0
6,0
14 freelancer menawar dengan rata-rata $1.197 USD untuk pekerjaan ini
Avatar Pengguna
See private message.
$2.465 USD dalam 29 hari
5,0 (242 ulasan)
7,8
7,8
Avatar Pengguna
See private message.
$4.250 USD dalam 29 hari
5,0 (93 ulasan)
6,9
6,9
Avatar Pengguna
See private message.
$1.020 USD dalam 29 hari
4,9 (216 ulasan)
6,9
6,9
Avatar Pengguna
See private message.
$1.632 USD dalam 29 hari
4,8 (103 ulasan)
5,9
5,9
Avatar Pengguna
See private message.
$1.700 USD dalam 29 hari
4,8 (108 ulasan)
6,0
6,0
Avatar Pengguna
See private message.
$1.062,50 USD dalam 29 hari
4,6 (10 ulasan)
5,2
5,2
Avatar Pengguna
See private message.
$510 USD dalam 29 hari
4,8 (29 ulasan)
4,8
4,8
Avatar Pengguna
See private message.
$850 USD dalam 29 hari
5,0 (3 ulasan)
4,6
4,6
Avatar Pengguna
See private message.
$654,50 USD dalam 29 hari
5,0 (9 ulasan)
4,2
4,2
Avatar Pengguna
See private message.
$425 USD dalam 29 hari
5,0 (4 ulasan)
3,0
3,0
Avatar Pengguna
See private message.
$442 USD dalam 29 hari
5,0 (5 ulasan)
1,6
1,6
Avatar Pengguna
See private message.
$425 USD dalam 29 hari
0,0 (0 ulasan)
0,0
0,0
Avatar Pengguna
See private message.
$467,50 USD dalam 29 hari
0,0 (0 ulasan)
0,0
0,0

Tentang klien

Bendera CANADA
Canada
5,0
46
Anggota sejak Jul 16, 2007

Verifikasi Klien

Terima kasih! Kami telah mengirim Anda email untuk mengklaim kredit gratis Anda.
Anda sesuatu yang salah saat mengirimkan Anda email. Silakan coba lagi.
Pengguna Terdaftar Total Pekerjaan Terpasang
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Memuat pratinjau
Izin diberikan untuk Geolokasi.
Sesi login Anda telah kedaluwarsa dan Anda sudah keluar. Silakan login kembali.