Build a small website including client-side, server-side, and database coding

Job ID: 31249523

Budget: $750 – $1,500 USD

Background / Purpose:

The goal is to create a web site which allows individuals to rate certain individuals and their capabilities (similar to rate my professors or rate my physician). This website is for a non-profit project which aims to improve civic participation among young people

Goal of the project:

Deliver a website with both server-side and client-side implementation.
- Preferred language: Javascript for server- and client-side. It would be ok to use Java for the server-side
- Preferred database: MongoDB. If a RDBMS is used, use PostgresSQL

The developer will need to:
- Develop all the server-side, client-side, and database code
- Demonstrate the code working on their machine or package the code for us to deploy and test on our machines
- Once we have accepted all the changes, the developer will need to deploy the code in a place where its publicly accessible in the US
- This project is being developed on a limited budget so the developer should recommend the best option to deploy & run the code
- The developer will deploy the code and demonstrate it working on the public site
- We will pay all the web deployment cost (including the domain name registration etc.). You can pay for it and add it to your charges


The high level workflow:
Page (A): Front page
Displays a logo
Displays a map of the US
Search bar which allows the user to type in a US address
Search this address using Google API’s (we will discuss which API’s at a later date). You could also add Google’s typeahead suggestions to suggest addresses as they type
The sidebar will show:
The most popular individuals in a list


Page (B) Once the user searches on an address, show a ratings page:
Displays the logo
Shows the map of USA zoomed into the location the user selected
Shows the list of individuals in 3 different boxes: USA level, State Level, Local Level
Within each box, it will show details about the individual
Photo if available (from Google API)
Name
Title
Overall ratings
Specific ratings
Will show ratings about 3 - 4 attributes
Small line chart showing how the overall rating has been changing over time
“Rate” button to allow users to add ratings for that single individual
[Optional] At the bottom of the 3 boxes a button “Rate all Individuals” which allows the users to rate all individuals in 1 page


Page (C): Rating page
Displays the logo
Show the zoomed-in US map
Allow the users to set ratings for the individual for 3 - 4 attributes + 1 overall rating
This page will also display other information about the individual. This information will be from the Google API’s
Address
Phone Number
Social ID’s: Facebook, Twitter, YouTube
All of the ratings will be saved in the database
Once the ratings are saved, they should go back to the (b) page


Note
We will share the high level wireframe for the 3 pages at a later date
Until users start setting ratings no ratings will be available
The first time users search for some individuals (using Google API) there might be no information in the database so that will need to be saved in the database as well
All ratings will be saved in the database


Deadline: Would like the project to be completed by end of September. The earlier the better.