malparty / google-search-ruby Goto Github PK
View Code? Open in Web Editor NEWA Google scrapper focus on AdWords data. Build with Rails.
A Google scrapper focus on AdWords data. Build with Rails.
Build UI for #28
In order to unlock the user in case he forget his password or if he wishes to update it.
In order to compare different keywords & review past results.
Problems to solve:
No Gos:
Logged Users.
So that I do not need to wait before getting the file-well uploaded response from the application.
So that I can close my web-browser while parsing continue.
This is a direct improvement to #9
Work is only backend, there is no frontend related task.
Logged users who just uploaded a CSV file.
To save time when running tests (as no DB queries will be involved)
As identified here.
Developers
In order to provide insights/learning to the user, from the data gathered.
While individual keywords results might solve localized problems, our users needs to understand trends across multiple keywords.
Problems to solve:
No Gos:
Logged Users.
Build Front End for #26
In order for the user to navigate through his previously uploaded keywords.
In order to provide an entry point for #8 & #12
Problems to solve:
No Gos:
Logged Users.
Save time with automation and enforce quality checks by:
Development team
Many times while all auto tests are passing, Pull Requests are showed as "NOK" โ simply because
Dev team & code reviewers ;-)
Build advanced UI for #8
In order to compare different keywords & review past results.
Problems to solve:
No Gos:
Logged Users.
Included with Rails-templates, we have a json_response
method that simplifies the JSON.parse(response.body, symbolize_names: true)
.
It also symbolizes names making the overall test cleaner.
We can review the previous request tests with this improvement.
Example:
Before
expect(JSON.parse(response.body)['data']['attributes']['status']).to eq('pending')
After
expect(json_response[:data][:attributes][:status]).to eq('pending')
Developer: less JavaScript & Frontend maintenance
Users: Faster and more dynamic app
Ensure no manual action is made for deployment, thus reducing the risks for human errors.
Increase traceability of events while enforce PR & validations before any deployment.
Define which hosting provider to use (Heroku, AWS, Google Cloud or Digital Ocean)
Configure auto-deploy for 2 environments:
develop
branchmain
branchProject team & stakeholders
Build advanced UI for #9
Enable the user to save time by processing multiple keywords from 1 single user action (update a file).
Save even more time by processing keywords asynchronously.
Problems to solve:
No Gos:
Logged Users.
Build API for #26
In order for the user to navigate through his previously uploaded keywords.
In order to provide an entry point for #8 & #12
Problems to solve:
No Gos:
Logged Users.
In order for the user to navigate through his previously uploaded keywords.
In order to provide an entry point for #8 & #12
Problems to solve:
No Gos:
Logged Users.
Build advanced UI for #11
In order to see newly parsed results as soon as possible.
Problems to solve:
Logged in Users
We should not be committing anything directly to develop branch such as https://github.com/malparty/google-search-ruby/commits/develop. Just a initial commit with blank readme file maybe be enough, and then everything gets merged via PR, even if it is created via Rails template
The reviewer mainly.
In order to ease troubleshooting when system tests passed on local but not in the CI.
Developers
In order to unlock the user in case he forget his password or if he wishes to update it.
So that a user can access to search results
Authenticated User
In order to see results directly and save time/effort.
Problems to solve:
No Gos:
Logged users.
Build advanced UI for #10
In order to provide insights/learning to the user, from the data gathered.
While individual keywords results might solve localized problems, our users needs to understand trends across multiple keywords.
Problems to solve:
No Gos:
Logged Users.
Enable the user to save time by processing multiple keywords from 1 single user action (update a file).
Save even more time by processing keywords asynchronously.
Problems to solve:
No Gos:
Logged Users.
Reduce logic in presenter, makes code cleaner and good for DB performances too
As identified here
The issues should match the format, something similar to junan/elixir_google_scraper#6
In order to provide a secure data segregation within the application.
Authentication shall be available from web UI as well as API (Oauth 2 RESTful JSON API ).
UI here will be minimal. Advanced UI being done in #16
Non logged Users
Starting the project on well proven foundations with common ground for tools, language and conventions. This not only helps collaboration and maintainability, but also increase the project quality.
Template in use: Nimble Rails template
Development team
Saving time (as opposed to manual tests) and enforcing quality by:
Development Team
In order to see newly parsed results as soon as possible.
Problems to solve:
Logged in Users
Build API for #8
In order to compare different keywords & review past results.
Exposes 2x API (Keyword list and search results)
Problems to solve:
No Gos:
Logged Users.
Build API for #9
Enable the user to save time by processing multiple keywords from 1 single user action (update a file).
Save even more time by processing keywords asynchronously.
Problems to solve:
No Gos:
Logged Users.
So that I do not need to wait before getting the file-well uploaded response from the application.
So that I can close my web-browser while parsing continue.
This is a direct improvement to #9
Work is only backend, there is no frontend related task.
Logged users who just uploaded a CSV file.
Developers for ease of codding future FrontEnd tasks.
User for modern UI and improved UX
In order for the user to manually analyse results (AdWords, links, etc...).
Problems to solve:
No Gos
Logged users.
Build API for #10
In order to provide insights/learning to the user, from the data gathered.
While individual keywords results might solve localized problems, our users needs to understand trends across multiple keywords.
Problems to solve:
No Gos:
Logged Users.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.