Giter VIP home page Giter VIP logo

blue-economics's People

Contributors

innls avatar jakubzapletal avatar raynor85 avatar young avatar zbirmingham avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blue-economics's Issues

Final consideration about DB refactoring needs

I went in deep with the current DB and now I am totally sure that a
remake of the current DB is not an option, but necessary. There are
two good reasons:

  • The new version of the DB is equivalent, that means it carries all
    the information and consists only of 6 tables (the guy that developed
    it really means business. He used consistent names and he made the
    perfect schema, except for a little mistake but I got rid of it)
  • The actual version of the DB has duplicated tables (ex table
    industries, industry and occupations and jobs), useless tables
    (educationlevels, filters, growthscores, leveltypes, workexperiences)
    and the few that remain have some issues.

You can see the optimization of the database I am going to implement here
https://drive.google.com/file/d/0B9H0_RE7a8elMmJsR3hDRmRJRGs/view?usp=sharing

Here you can take a look at the current table structure, so maybe you
can confirm the uselessness of some tables I wrote above.

Legends:
NOTHING: not used in the API
PRESENT: some API use it
PRESENT BUT NOT USED: i think the table is useless, but it used in some API

educationlevels (
Id
Name
Score
Alias
)
NOTHING

faq_question (
Id
Text
OccupationId
FAQ_QuestionSourceId
dateCreated
Inappropriate
Read
)
PRESENT

faq_questionassignment (
ID
dateAssigned
dateAnswered
IsAnswered
FAQ_ResponseSourceID
FAQ_QuestionID
)
PRESENT BUT NOT USED

faq_questionsource (
Id
Name
Email
)
PRESENT

faq_response (
Id
Text
FAQ_ResponseSourceId
likeCount
)
PRESENT

faq_responsefaq_question (
FAQ_Response_Id
FAQ_Question_Id
)
PRESENT

faq_responsesource (
Id
Organization
)
PRESENT BUT NOT USED

filters (
Id
Category
Name
Quantity
Order
FilterId
)
PRESENT BUT NOT USED

growthscores (
Id
Name
Score
)
NOTHING

industries (
Id
Name
Code
)
PRESENT

industry (
SocCode
IndustryName
)
NOTHING AND DUPLICATE OF industries

jobs (
JobCode
IndustryId
SocCode
JobDescription
JobTitle
Prospects
AnnualAvgOpenings
EntryEduLevel
ReqWorkExp
ReqJobTraining
AverageEduLevel
CurrentEmployment
AvgAnnWage
MedianAnnWage
AvgEntryWage
AvgExpWage
BlueEconGrade
BlueEconScore
EducationScore
GrowthScore
AvailabilityScore
IncomeScore
)
NOTHING AND DUPLICATE OF occupations

leveltypes (
Id
Name
Alias
)
NOTHING

occupations (
Id
IndustryId
WorkExperienceId
EducationLevelId
Name
Code
Description
SocCode
MedianPayAnnual
MedianPayHourly
NumberOfJobs
EmploymentOpenings
)
PRESENT

workexperiences (
Id
Name
Alias
)
PRESENT

`growthscores` table has no data

I was going through the data in the BlueEconomics database and noticed there's nothing in table. I'm assuming this is where the scores for each job were supposed to go. Not sure what we need to do to fix this, not sure if there's data somewhere existing already.

API Functions Needed - jobs_faq.html

We need these API functions from the index.php file (I'll continue to update this issue as we progress):

job-faq.html functions

A function that queries the faq_question table for the Text (column heading), ideally this will be able to accept a query from the front-end via $_Get for the OccupationId (column heading).

A function that queries the faq_response table for the Text (column heading), ideally this will be able to accept a query from the front-end via $_Get for the OccupationId (column heading).

A function that accepts a numeric variable and queries the faq_responsefaq_question for the FAQ_Question_Id (column heading) and returns the corresponding FAQ_Response_Id (column_heading) numeric value. Not sure if there is a way to make this work in reverse?

A function that accepts a numeric variable and queries the faq_response table for the Id (column heading) and returns the corresponding Text (column heading) string and FAQ_ResponseSourceId (column heading), this will maybe need to return the Id (column heading) as well to make the next function work?

Not sure if this should be part of another function or be a part of the previous function or can be incorporated into the function 2 entries above this. This function will kick off by accepting the FAQ_ResponseSourceId (column heading) from the previous function. It will send FAQ_ResponseSourceId from faq_response and query faq_responsesource Id (column heading) for the corresponding Name (column heading).

This function will accept a numeric variable as the Id (column heading) and query the faq_responsefaq_question table and return the corresponding FAQ_Question_Id (column heading) numeric value. (Should this part be a new function?) This function will then send this returned value to query the faq_question table and return FAQ_QuestionSourceId (column heading) and Text (column heading) WHERE it corresponds with the Id (column heading) accepted as a numeric variable. (New function?) It should then send the returned value from FAQ_QuestionSourceId (column heading) from faq_question to query faq_questionsource as the Id (column heading) and return Name (column heading). This should result with receiving back Text (column heading) from faq_question and Name (column heading) from faq_questionsource.

We need a function that accept information from a form on the front end when the users asks a question in the on jobs-faq.html. The user will be providing their e-mail address, question and select the corresponding occupation. The first thing it will do is validate and accept a string from the user that will update faq_questionsource table under the Name (column heading) and assign a corresponding numeric value to the Id (column heading). This will then pass this Id (column heading) to the faq_question table where that variable will populate the FAQ_QuestionSource (column heading). It will then assign a numeric value to the Id (column heading) in the faq_question table. It will also populate the OccupationId (column heading) and Text (column heading) with the occupation id provided by the user and question

Views and template system

Hi, I would like to ask you if were you thinking about using some template system? I see there are only HTML views and many parts of them are repeated. Of cource, there is also an option to use classic PHP files but it's not so clear.

I would recommend http://twig.sensiolabs.org/. It's easy to learn, use and doesn't let you write any PHP logic into views, because it's pretty ugly to use some logic in vews.

What do you think?

If you agree, I can import it into the app and also rewrite current views to see how work with it.

Suggestion Slim replace by Silex

Hi guys. I would like to suggest replace Slim by Silex (http://silex.sensiolabs.org/). Both frameworks are "micro" frameworks and both are considered as THE BEST. But I have deeply studied documentation of both and I think that Silex can better fit us.

It has:

  • natural support for template engine Twig, suggested in #28
  • class for handling request parameters, so we can avoid using super global variables ($_POST, $_GET) what is better practice
  • support for basic controllers
  • support for provider. Providers allow the developer to reuse parts of an application into another one.
  • support for security what will be certainly needed for Expert Facing

What is import to say that Silex usage in basics is nearly the same as Slim, so you don't need to learn different environment.

What do you think? If you hesitate I can do example PR and you will see differences. Please let me know.

@innls @zbirmingham @Mittals @greendost @jemuelyoung

Education Level

When user selects Education Level, the other levels shouldn't be selectable until the user unselects the Education Level and makes a new selection. It was entirely obvious to me that the function includes all lower education levels. For example, the user selects bachelors degree, it should be including the results for 0 or less than 1 year of education and associates degree. I noticed also that it takes the results in the Jobs column out of order. They should remain in alphabetical order.

Search function not working

The search function does not work and at our last conversation it may be something in the front end that needs to be adjusted. Zack, please take a look when you have the chance and please let us know if its not a front end issue.
I would like to test it soon as there are workarounds we can explore if the MYSQL limitations can not handle what we need it to do.

/search/ function not returning industry results

@obraafo, not sure if this is an issue with the mysql database or the actual /search/ function, but when I hit the /search/ API function it's only returning the job results.

For example, when I do a search for nurses, I'm getting this back:
{"industries":[],"jobs":[{"name":"Licensed Practical and Licensed Vocational Nurses"},{"name":"Registered Nurses"},{"name":"Surgical Technologists"}]}

Need a new JavaScript scroll plug in

I think that's what's screwing up the index.html page. I created a JQuery script that hides the entire video when the 'about us' button is clicked, but the about section still looks weird.

Tab/spaces convention

Hi guys, I need to know whether to use tabs or spaces everywhere? I am used to use spaces so need to know whether to switch project settings to tabs.

API Functions Needed - job_selection.html

We need these API functions from the index.php file (I'll continue to update this issue as we progress):

job-selection.html functions

/industries - (already created) populates all industries from industries table, this may require some cleaning up

/jobs - (already created) populates all jobs from occupations table, can accept variable via $_GET to query MySQL database for specific industry identifier, this may require some cleaning up

/job_description - (already created, doesn't work) query occupations table for specific Job (column heading), Description (column heading), MedianPayAnnual (column heading), MedianPayHourly (column heading), NumberOfJobs (column heading), EmploymentOpenings via String Variable passed via $_GET

A function that can accept a query from the front end that is maybe tied into /job_description that can provide the user with Name (column heading) from workexperiences table when provided with WorkExperienceId (column heading) from occupations table. Question[obraafo]: Are you asking for a function that returns work experience name given an id?

A function that takes a string from the form on the job-selection.html page and queries the industry and occupations tables for a corresponding match. Question[obraafo]: What is return for a match?

A function that is triggered from the front-end (education checkbox) and filters the results from the occupations tables based on the EmploymentLevelId (column heading) and then will filter the corresponding results from the industry table. Question[obraafo]: Are you expecting this api to return the list of industries and jobs as one resultset?

Bower components included in repository

Hey guys. I see there are bower components included in git repository. It's really wrong. This way it's a pity not to use Bower (http://bower.io/) advanteges. How doesn't know it's something like Composer but for front-end packages (html, css, js, ...). It's useless to keep 3rd party packages in our repository and also we loose advantage to update these packages. A configuration file bower.js contain information about a version of all packages and it's good to know a version of package when you looking some details about it.

There should be the bower.js file in a root of project and everyone should install defined packages by command line.

Is there any volunteer to do that? Or I can do that if you wish.

@innls @zbirmingham @Mittals @greendost @jemuelyoung

Different File for MySQL Username and Password

This isn't necessarily an issue right now, but when we push this to production we'll need to include a different file for the MySQL connection in the API. @obraafo I saw that you had included that mysql.ini file for local development, but @jemuelyoung had created a different file with the username and password for the remote server.

Stacking order for menu on the mobile friendly site isn't showing up correctly

@jemuelyoung was wondering if you can help me figure out what's going on here. I'm trying to make the site responsive. Once the width goes below a certain point, the site is supposed to go into a mobile friendly version. I have the top menu showing as a drop down box, but the menu is appearing behind the search bar, also the menu button itself is supposed to appear behind the menu, but is showing in front of it. I'm sure it has something to with the z-index, but I can't figure it out.

screen shot 2014-06-30 at 2 33 49 pm

/jobs function doesn't work when no industry is supplied

It seems like this function only works from the loadJobs AJAX call because this supplies an industry. @obraafo, can you make it so that when you hit this function from the front-end with no industry, that it just returns all the jobs from the occupations table?

Blue Boxes

@young was wondering if I could get your advice on this.

I'm working on getting the result boxes on the jobs-selection.html page to light up blue and show the user where they should click as they make their selections through each of the boxes as shown in the mock ups in /Blue-Economics/media/images/Mock_Up/Jobs/Selection/ directory. The file I'm working on is /Blue-Economics/js/guided_tour.js, I'm also working on the branch clean_up_front_end-implement_handlebars.js

There's probably a better way to do this than the way I have it.

I'm also having issues getting the text to light up Orange when the box is blue like in the mock up, but for some reason it's not adding the orange class when I want it to.

Can you take a look at this and just let me know how I can approach this in a more effective way?

Missing Job Descriptions

There are 340 job descriptions and 680 jobs. The government website is missing data. I will follow up with the Dept of Labor or work the research team to fill that information

Parrellel Development

Elena will be doing parallel devlopment in Ruby and MongoDB.
Development in Javascript and PHP will continue but Elena will explore the Ruby/MongoDB route. Should it prove to be more efficient we will switch to Elena's proposal.

Text Response via Get

I'm a little concerned about the add_response_from_question API function. This function is designed to receive a text response to a users question from an expert and the text that's part of this response is being sent in the URL. I don't really feel like this is the right approach.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.