diff --git a/app/server.js b/app/server.js
new file mode 100644
index 0000000000000000000000000000000000000000..af71177f112fff3b077333f0171b8d498cb84d4c
--- /dev/null
+++ b/app/server.js
@@ -0,0 +1,112 @@
+const pg = require("pg");
+const express = require("express");
+const app = express();
+
+const port = 3000; 
+const hostname = "localhost";
+
+const env = require("../env.json");
+const Pool = pg.Pool;
+const pool = new Pool(env);
+pool.connect().then(function () {
+    console.log(`Connected to database ${env.database}`);
+});
+
+app.use(express.static("public_html"));
+app.use(express.json());
+
+
+app.get("/", function (req, response){
+	let last_name = req.query.last_name;
+	let sel_que = `SELECT * FROM pt_data where pat_last_name = '${last_name}'`;
+	console.log(sel_que);
+	pool.query(sel_que, (err, res) => {
+		if (err) {
+			console.log('SELECT error: ', err);
+		}
+		if (res) {
+			let results = res;
+			console.log(results);
+			let pat_info = JSON.stringify(results.rows);
+			console.log(pat_info);
+			response.send(results);
+		}
+	});
+});
+
+app.post("/", function (req, res){
+	let dataGood = true; 
+	let data = req.body.data;
+	data.bio_mom_concep_age = parseInt(data.bio_mom_concep_age);
+	data.bio_mom_prev_births_num = parseInt(data.bio_mom_prev_births_num);
+	if (!data.user_first_name || (data.user_first_name.length > 20)
+		|| !data.user_last_name || (data.user_last_name.length > 20)
+		|| !data.user_rel || !data.user_email || !data.user_phone
+		|| !data.pat_first_name || (data.pat_first_name.length > 20)
+		|| !data.pat_last_name || (data.pat_last_name.length > 20)
+		|| (data.pat_midd_name.length > 20) || !data.pat_sex 
+		|| !data.pat_birth_date){
+		dataGood = false;
+	}
+	console.log(data);
+	let holder = String(data.user_first_name);
+	//dataGood = true; WHEN TESTING, uncomment for faster action.
+	if (dataGood === true){
+		addPatient(data);
+	}
+	else{
+		console.log("bad patient data");
+	}
+
+});
+
+function addPatient(data){
+	pool.query(
+		`INSERT INTO pt_data (user_first_name, user_last_name, user_rel, 
+		user_other_rel, user_email, user_phone, pat_first_name, pat_midd_name, 
+		pat_last_name, pat_sex, pat_birth_date, pat_state, pat_county, 
+		bio_mom_injury, bio_mom_injury_details, bio_mom_hosp, bio_mom_hop_details, 
+		bio_mom_xrays, bio_mom_xrays_details, bio_mom_meds, bio_mom_meds_details, 
+		bio_mom_diet, bio_mom_concep_age, bio_mom_prev_births, 
+		bio_mom_prev_births_num, bio_mom_mat_care, fetus_activity_level, 
+		fet_act_lev_change, bio_mom_preg_emos, bio_mom_preg_infects, 
+		bio_mom_preg_premature, bio_mom_preg_rash, bio_mom_preg_bedrest, 
+		bio_mom_preg_toxemia, bio_mom_preg_diffconc, bio_mom_preg_anemia, 
+		bio_mom_preg_35lb, bio_mom_preg_swell, bio_mom_preg_vagblood, 
+		bio_mom_preg_measles, bio_mom_preg_nausea, bio_mom_preg_flu, 
+		bio_mom_preg_hbp, bio_mom_preg_kidney, bio_mom_preg_strep, 
+		bio_mom_preg_miscrisk, bio_mom_preg_rh, bio_mom_preg_headache, 
+		bio_mom_preg_cold, bio_mom_preg_urine, bio_mom_preg_virus, 
+		bio_mom_preg_other)
+		VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, 
+		$14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, 
+		$27, $28, $29, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, 
+		$40, $41, $42, $43, $44, $45, $46, $47, $48, $49, $50, $51, $52
+		) RETURNING *`,
+		[data.user_first_name, data.user_last_name, data.user_rel,
+		data.user_other_rel, data.user_email, data.user_phone, data.pat_first_name, 
+		data.pat_midd_name, data.pat_last_name, data.pat_sex, 20150531, 
+		data.pat_state, data.pat_county, data.bio_mom_injury, 
+		data.bio_mom_injury_details, data.bio_mom_hosp, data.bio_mom_hop_details, 
+		data.bio_mom_xrays, data.bio_mom_xrays_details, data.bio_mom_meds, 
+		data.bio_mom_meds_details, data.bio_mom_diet, data.bio_mom_concep_age, 
+		data.bio_mom_prev_births, data.bio_mom_prev_births_num, data.bio_mom_mat_care, 
+		data.fetus_activity_level, data.fet_act_lev_change, data.bio_mom_preg_emos, 
+		data.bio_mom_preg_infects, data.bio_mom_preg_premature, data.bio_mom_preg_rash, 
+		data.bio_mom_preg_bedrest, data.bio_mom_preg_toxemia, 
+		data.bio_mom_preg_diffconc, data.bio_mom_preg_anemia, data.bio_mom_preg_35lb, 
+		data.bio_mom_preg_swell, data.bio_mom_preg_vagblood, data.bio_mom_preg_measles, 
+		data.bio_mom_preg_nausea, data.bio_mom_preg_flu, data.bio_mom_preg_hbp, 
+		data.bio_mom_preg_kidney, data.bio_mom_preg_strep, data.bio_mom_preg_miscrisk, 
+		data.bio_mom_preg_rh, data.bio_mom_preg_headache, data.bio_mom_preg_cold, 
+		data.bio_mom_preg_urine, data.bio_mom_preg_virus, data.bio_mom_preg_other]
+	).then(function (response) {
+		console.log("Inserted: ");
+		console.log(response.rows);
+	}).catch(function (error){
+		console.log(error);
+	});	
+}
+app.listen(port, hostname, () => {
+    console.log(`Listening at: http://${hostname}:${port}`);
+});