Skip to content

Commit cb932e8

Browse files
authored
Add files via upload
1 parent 91f9024 commit cb932e8

File tree

1 file changed

+110
-0
lines changed

1 file changed

+110
-0
lines changed

server/index.js

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
/*
2+
*******************
3+
*** Installers ***
4+
*******************
5+
6+
npm install express (app control)
7+
npm install body-parser (data transfer between pages >> forms and ajax)
8+
npm install color-blind (blindness simulator library)
9+
*/
10+
11+
const express = require('express');
12+
const bodyParser = require('body-parser');
13+
const blinder = require('color-blind');
14+
const app = express();
15+
16+
// receive datas via json and ajax
17+
app.use(bodyParser.json());
18+
app.use(bodyParser.urlencoded({extended: true}));
19+
20+
// disable cors
21+
app.use(function(req, res, next) {
22+
res.header("Access-Control-Allow-Origin", "*");
23+
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");;
24+
next();
25+
});
26+
27+
// port to run
28+
app.listen(4000, () => {
29+
console.log('All right on port 4000!');
30+
});
31+
32+
// post methods
33+
app.post('/simulatorProtanomaly', function(req, res) {
34+
color = simuProtanomaly(req.body.color);
35+
console.log(color);
36+
res.send(color);
37+
});
38+
39+
app.post('/simulatorProtanopia', function(req, res) {
40+
color = simuProtanopia(req.body.color);
41+
console.log(color);
42+
res.send(color);
43+
});
44+
45+
app.post('/simulatorDeuteranomaly', function(req, res) {
46+
color = simuDeuteranomaly(req.body.color);
47+
console.log(color);
48+
res.send(color);
49+
});
50+
51+
app.post('/simulatorDeuteranopia', function(req, res) {
52+
color = simuDeuteranopia(req.body.color);
53+
console.log(color);
54+
res.send(color);
55+
});
56+
57+
app.post('/simulatorTritanomaly', function(req, res) {
58+
color = simuTritanomaly(req.body.color);
59+
console.log(color);
60+
res.send(color);
61+
});
62+
63+
app.post('/simulatorTritanopia', function(req, res) {
64+
color = simuTritanopia(req.body.color);
65+
console.log(color);
66+
res.send(color);
67+
});
68+
69+
app.post('/simulatorAchromatomaly', function(req, res) {
70+
color = simuAchromatomaly(req.body.color);
71+
console.log(color);
72+
res.send(color);
73+
});
74+
75+
app.post('/simulatorAchromatopsia', function(req, res) {
76+
color = simuAchromatopsia(req.body.color);
77+
console.log(color);
78+
res.send(color);
79+
});
80+
81+
app.post('/simulatorAll', function(req, res) {
82+
colors = simuAll(req.body.color);
83+
console.log(colors);
84+
res.send(colors);
85+
});
86+
87+
// simulator methods
88+
function simuProtanomaly(hex_color) { return blinder.protanomaly(hex_color); }
89+
function simuProtanopia(hex_color) { return blinder.protanopia(hex_color); }
90+
function simuDeuteranomaly(hex_color) { return blinder.deuteranomaly(hex_color); }
91+
function simuDeuteranopia(hex_color) { return blinder.deuteranopia(hex_color); }
92+
function simuTritanomaly(hex_color) { return blinder.tritanomaly(hex_color); }
93+
function simuTritanopia(hex_color) { return blinder.tritanopia(hex_color); }
94+
function simuAchromatomaly(hex_color) { return blinder.achromatomaly(hex_color); }
95+
function simuAchromatopsia(hex_color) { return blinder.achromatopsia(hex_color); }
96+
97+
function simuAll(hex_color) {
98+
results = [];
99+
100+
results.push(blinder.protanomaly(hex_color));
101+
results.push(blinder.protanopia(hex_color));
102+
results.push(blinder.deuteranomaly(hex_color));
103+
results.push(blinder.deuteranopia(hex_color));
104+
results.push(blinder.tritanomaly(hex_color));
105+
results.push(blinder.tritanopia(hex_color));
106+
results.push(blinder.achromatomaly(hex_color));
107+
results.push(blinder.achromatopsia(hex_color));
108+
109+
return results;
110+
}

0 commit comments

Comments
 (0)