forked from pamuditha/scorelab.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRewriteTheFrontendUsingReactOrPolymer.html
850 lines (701 loc) · 36.5 KB
/
RewriteTheFrontendUsingReactOrPolymer.html
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="/assets/img/logo.png">
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>
<title>SCoRe Lab - OpenDF - Rewrite the frontend using React or Polymer</title>
<!-- Bootstrap core CSS -->
<link href="/assets/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="/assets/css/style.css" rel="stylesheet">
<link href="/assets/css/font-awesome.min.css" rel="stylesheet">
<!-- Custom CSS -->
<!--<link rel="stylesheet" href="/css/main.css">-->
<!-- Just for debugging purposes. Don't actually copy this line! -->
<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Fixed navbar -->
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<img src="/assets/img/score-black-transp.png" alt="SCoRe" style="width: 97px;"/>
<!--<a class="navbar-brand" href="/">SCoRe Lab</a>-->
</div>
<div class="navbar-collapse collapse navbar-right">
<ul class="nav navbar-nav">
<li ><a href="/">Home</a></li>
<li ><a href="/projects/">Projects</a>
</li>
<li ><a href="/publications/">Publications</a></li>
<li><a href="https://github.com/scorelab">Repositories</a></li>
<li ><a href="/score-team/">Team</a></li>
<li ><a href="/blog/">Blog and Gallery</a></li>
<li ><a href="/donation/">Donations</a></li>
<li ><a href="/contact/">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div id="blue">
<div class="container">
<div class="row">
<h3>OpenDF - Rewrite the frontend using React or Polymer</h3>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /blue -->
<style media="screen">
.card-view>img{
border: 1px solid #e3e3e3;
padding: 10px;
}
.card-view{
padding-bottom: 10px;
padding-top: 10px;
}
</style>
<div class="container mtb">
<div class="row">
<h2>Google Summer of Code 2017</h2>
<br/>
<section>
<section>
<p>
Welcome to the SCoRe Lab Google Summer of Code (GSoC) 2017 project ideas page. We are a dynamic and enthusiastic nonprofit research group pioneering in Internet of Things (IoT), Embedded Systems, Computer Security and 'Wireless Adhoc and Sensor Networks' and is one of the best groups in South Asia. We are based in the University of Colombo School of Computing, Sri Lanka. This is the third time that we are participating in the GSoC, we will use this page to develop possible project ideas that have on the above mentioned areas. Please note that anyone who is interested can participate in this process. You do not have to be a GSoC student or mentor to suggest possible project ideas. You can also talk to us about possible project ideas and we are happy to improve or heip you with them. Please keep in mind that projects need to be realistically something that is able to be functionally completed by a student working full time for about eight weeks. Thanks!
</p>
<p>
<b>Mailing list: </b><a href="http://groups.google.com/d/forum/score-community" target="_blank">score-community@googlegroups.com</a>
</p>
<p>
<b>IRC Channel:</b> <a href="https://gitter.im/scorelab/scorelab" target="_blank">https://gitter.im/scorelab/scorelab</a>
</p>
<p>
<b><a href="https://goo.gl/KXcqAL" target="_blank">Suggested Proposal Template</a></b>
</p>
</section>
<section>
<header>
<h2>Important Guidelines on Submitting Ideas</h2>
</header>
<p>There are some important guidelines to submit ideas, please read these carefully before adding your ideas;:</p>
<ul style="list-style:inherit">
<li>
There is a fixed time period for implementing and coding your ideas.
</li>
<li>
Come up with attainable goals and you will be able to complete what you set out to do. You can always contact our mentors and community and get an idea about the workload and whether you might be able to complete them.
</li>
<li>
You are free to come up with your own ideas. The ideas should be about Internet of Things (IOT), Embedded Systems, Computer Security and 'Wireless Adhoc and Sensor Networks’. Also if you love to work on any of these subjects but do not have an idea you can always contact us.
</li>
<li>
Lets Talk! The best way to solve problems that you might have is to contact our mentors and also our community. This will help you to not get bogged down in your ideas and to move on.
</li>
<li>
We encourage you to do documentation so that we can keep track of your progress and also help you if things are not going according to plan. Although not compulsory we have a strong belief that this method can cut down your time to code and also the workload of the mentors drastically.
</li>
</ul>
</section>
<section>
<header>
<h2>Project list for GSoC 2017</h2>
</header>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#openioepubsub">
OpenIoE - Implement bidirectional publish-subscribe behaviour
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#openioeapi">
OpenIoE - Implement authentication for message broker and rest API for OpenIOE
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#rustcloud1">
Implement rustcloud compute package for Google compute engine and AWS EC2
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#nodecloud1">
Implement nodecloud compute package for Google compute engine and AWS EC2
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#gocloud1">
Implement gocloud compute package for Google compute engine and AWS EC2
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#catawa">
Convert Androphsy to a Web Application
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#openadsbellygraphi">
OpenADS - BellyGraph - Implement deep graph kernel to solve subgraph isomorphism
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#openadsbellygraphi">
OpenADS - BellyGraph - Implement a scalable data-structure to model evolving graphs
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#stackle">
Stackle - Web communication portal for Open Source Organizations
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#stackle">
DroneSym - Platform to Handle and Track Drone Fleets in Real Time.
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#Open-Pub">
OpenPub - publication manager
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#opendfcomponentui">
OpenDF - Rewrite the frontend using React or Polymer
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#opendfkubernetize">
OpenDF - Kubernetize OpenDF
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#opendfimageanotation">
OpenDF - Image annotation and describe module
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#opendfacerecognition">
OpenDF - Face recognition and profiles module
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#bassasetupandconfig">
Bassa - Setup, Automatic Updates and Docker
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#scmaas">
SCMaas - Smart Contract Monitoring Service
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#kuteSN">
Kute - Implement the feature for private vehicles that are travelling to a known destination on a regular basis
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#ceylon-native">
Ceylon - Native compiler
</a>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<a href="#drola-app">
Drola - Drone with Lora
</a>
</li>
</ul>
</section>
<br/>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="openioepubsub">
<h2>OpenIoE - Implement bidirectional publish-subscribe behaviour</h2>
<p>OpenIOE enables you to subscribe to data streams and get data from the sensors and store them. But it cannot act as a publisher, therefore a user cannot send control messages to sensors. (Eg. Changing the thermostat value).</p>
<b>Required Knowledge: </b>Spring Boot, ActiveMQ Artemis, MQTT, AMQP and Cassandra
<br/>
<b>Github: </b><a href="https://github.com/scorelab/OpenIoE" target="_blank">https://github.com/scorelab/OpenIoE</a>
<br/>
<b>Possible Mentors: </b>TBA
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="openioeapi">
<h2>OpenIoE - Implement authentication for message broker and rest API for OpenIOE</h2>
<p>Currently, OpenIOE does not implement any security mechanisms for publishing or subscribing to any registered sensors in the backend.In order to support more clients, MQTT authentication and GUID based URL routing can be used.</p>
<b>Required Knowledge: </b>Spring Boot, ActiveMQ Artemis, MQTT, AMQP and Cassandra
<br/>
<b>Github: </b><a href="https://github.com/scorelab/OpenIoE" target="_blank">https://github.com/scorelab/OpenIoE</a>
<br/>
<b>Possible Mentors: </b>TBA
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="rustcloud1">
<h2>Implement rustcloud compute package for Google compute engine and AWS EC2</h2>
<p>rustcloud is a standard library for Rust that abstracts away differences among multiple cloud providers. The rustcloud compute package is designed to make it easy to provision and work with VMs. Developing rust package for interacting with Google compute engine and AWS EC2 using a unified API.</p>
<b>Required Knowledge: </b>Rust, Google Cloud, AWS
<br/>
<b>Github: </b><a href="https://github.com/scorelab/rustcloud" target="_blank">https://github.com/scorelab/rustcloud</a>
<br/>
<b>Possible Mentors: </b>Charitha Elvitgala (charitha@scorelab.org), Rumesh Hapuarachchi (rehrumesh@gmail.com)
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="nodecloud1">
<h2>Implement nodecloud compute package for Google compute engine and AWS EC2</h2>
<p>nodecloud is a library for NodeJS that abstracts away differences among multiple cloud providers. The nodecloud compute package is designed to make it easy to provision and work with VMs. Developing NodeJS package for interacting with Google compute engine and AWS EC2 using a unified API.</p>
<b>Required Knowledge: </b>NodeJS, Google Cloud, AWS
<br/>
<b>Github: </b><a href="https://github.com/scorelab/nodecloud" target="_blank">https://github.com/scorelab/nodecloud</a>
<br/>
<b>Possible Mentors: </b>Charitha Elvitgala (charitha@scorelab.org), Rumesh Hapuarachchi (rehrumesh@gmail.com)
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="gocloud1">
<h2>Implement gocloud compute package for Google compute engine and AWS EC2</h2>
<p>gocloud is a standard library for Go that abstracts away differences among multiple cloud providers. The gocloud compute package is designed to make it easy to provision and work with VMs. Developing golan package for interacting with Google compute engine and AWS EC2 using a unified API.</p>
<b>Required Knowledge: </b>Go, Google Cloud, AWS
<br/>
<b>Github: </b><a href="https://github.com/scorelab/gocloud" target="_blank">https://github.com/scorelab/gocloud</a>
<br/>
<b>Possible Mentors: </b>Charitha Elvitgala (charitha@scorelab.org), Rumesh Hapuarachchi (rehrumesh@gmail.com)
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="catawa">
<h2>Convert Androphsy to a Web Application</h2>
<p>ANDROPHSY is an opensource forensic tool for Android smartphones that helps digital forensic investigator throughout the life cycle of digital forensic investigation. Services provided by ANDROPHSY includes, <ul><li>Digital forensic case and evidence management</li><li>Raw data acquisition – physical acquisition and logical – file system level acquisition</li><li>Meaningful evidence extraction and analysis support</li><li>Evidence presentation</li></ul><br> At the moment, Androphsy operates as a Java Swing application. So now we want to convert it to a web application that works similar to OpenDF.</p>
<b>Required Knowledge: </b>AngularJs, Java, JavaEE, MySQL, Bootstrap
<br/>
<b>Github: </b><a href="https://github.com/scorelab/ANDROPHSY" target="_blank">https://github.com/scorelab/ANDROPHSY</a>
<br/>
<b>Possible Mentors: </b>Charitha Elvitgala (charitha@scorelab.org), Rumesh Hapuarachchi (rehrumesh@gmail.com)
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="openadsbellygraphi">
<h2>OpenADS - BellyGraph - Implement deep graph kernel to solve subgraph isomorphism</h2>
<p><p>Subgraph isomorphism asks if there is a subset of edges and vertices of G1 that is isomorphic to a smaller graph G2, decision version is NP-complete.</p><p>Known polynomial alternative - Graph kernels which compare substructures of graphs that are computable in polynomial time. (e.g. Graphlet kernels, Weisfeiler-Lehman subtree kernels, and Shortest-Path graph kernels.)</p><p>This project is inspired by deep learning approaches, to learn latent representations of sub-structures for graphs, and implement the deep learning notions in a scalable kernel model.</p></p>
<b>Required Knowledge: </b>Graph theory, Deep learning, Temporal models
<br/>
<b>Github: </b><a href="https://github.com/scorelab/OpenADS" target="_blank">https://github.com/scorelab/OpenADS</a>
<br/>
<b>Possible Mentors: </b>Milindu Sanoj Kumarage(sanoj@scorelab.org)
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="openadsbellygraphi">
<h2>OpenADS - BellyGraph - Implement a scalable data-structure to model evolving graphs</h2>
<p><p>BellyGraph is a novel query framework built for evolving graphs, currently sketch based summarization techniques (e.g TCM) are implemented, and graph degree distribution is approximated across streaming graph relations. Idea is to extend the current data-structure to more scalable version which can deal with both online and offline analysis of evolving graphs.</p><p>BellyGraph is directly connected with OpenADS -- which is a Big Data analytics framework designed to consume and monitor network traffic and mine hidden anomalies using advanced machine learning techniques. In current date, OpenADS is still at it's conceptual stage where it is designed to work at a massive scale. The system believes to act as an extensible and reliable platform to enrich traditional Intrusion Detection System (IDS). OpenADS is unique at it's nature with the architecture supported by Berkeley Data Stack (BDS). <a href="https://github.com/scorelab/OpenADS/wiki" target="_blank">OpenADS Wiki</a></p></p>
<b>Required Knowledge: </b>Graph theory, Temporal models, Experience with any event driven language
<br/>
<b>Github: </b><a href="https://github.com/scorelab/OpenADS" target="_blank">https://github.com/scorelab/OpenADS</a>
<br/>
<b>Possible Mentors: </b>Milindu Sanoj Kumarage(sanoj@scorelab.org)
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="stackle">
<h2>Stackle - Web communication portal for Open Source Organizations</h2>
<p><p>Stackle is an web communication portal aimed at providing Open Source organizations a platform to have discussions on their github projects and their issues. It provides Github intergration which allows adminstrator of an organization to create a forum thread for the particualr organization. Users signing in is able to view forums of the orgrnizations they contribute to and engage in the forum discussions.</p></p>
<b>Required Knowledge: </b>NodeJS, AngularJs
<br/>
<b>Github: </b><a href="" target="_blank"></a>
<br/>
<b>Possible Mentors: </b>TBD
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="stackle">
<h2>DroneSym - Platform to Handle and Track Drone Fleets in Real Time.</h2>
<p><p>Dronesym is a platform enabling users to handle and track their drone fleets in real time. Users can have functionality to add new drones configure their flight paths and monitor their progress through a web dashboard.</p></p>
<b>Required Knowledge: </b>NodeJS, AngularJs, DroneKit, SITL runner for DroneKit
<br/>
<b>Github: </b><a href="" target="_blank"></a>
<br/>
<b>Possible Mentors: </b>TBD
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="Open-Pub">
<h2>OpenPub - publication manager</h2>
<p><p>OpenPub is a publication manager for individuals and research groups. OpenPub provides research's to upload and share their’s publications with others and get valuable feedbacks for their publications. It also allow users to easily find related resources in different areas and categories.</p></p>
<b>Required Knowledge: </b>NodeJS, AngularJs
<br/>
<b>Github: </b><a href="https://github.com/scorelab/OpenPub" target="_blank">https://github.com/scorelab/OpenPub</a>
<br/>
<b>Possible Mentors: </b>TBD
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="opendfcomponentui">
<h2>OpenDF - Rewrite the frontend using React or Polymer</h2>
<p><p>Front-end of the OpenDF is currently done using AngularJS, but we see we need a framework which is extra good in component based UIs. We like to make use of HTML5’s Web Components APIs in OpenDF. We are flexible on what framework to use, it could be React or Polymer or any other web component based framework.</p><p>This also should go with ES6 and SCSS or LESS. Gulp or Grunt should be used for development, once the new release is ready for the production, files should be precompiled( ES6 and SCSS or LESS ), merged, minified, versioned, and put into ‘dist’ folder. Then the NGINX server can serve the new release.</p>
<b>Required Knowledge: </b>Any Web Components framework, ES6 and Babel, SCSS or LESS, npm/yarn, Gulp/Grunt
<br/>
<b>Github: </b><a href="https://github.com/scorelab/OpenDF" target="_blank">https://github.com/scorelab/OpenDF</a>
<br/>
<b>Possible Mentors: </b>Milindu Sanoj Kumarage(sanoj@scorelab.org)
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="opendfkubernetize">
<h2>OpenDF - Kubernetize OpenDF</h2>
<p><p>We have to put all the parts of the OpenDF into Kubernetes where anyone can deploy OpenDF with all the modules easily. We have some modules which are not Dockerized, you have to take care of them too. Modules exposes RESTful APIs, they should be made available through an API manager with proper access control mechanism. SSL support also should be there.</p><p>Static files( frontend ) should be served by an NGINX server, which resides on its own container. You can work on this in community bonding period.</p>
<b>Required Knowledge: </b>Kubernetes, Docker, API Management, SSL
<br/>
<b>Github: </b><a href="https://github.com/scorelab/OpenDF" target="_blank">https://github.com/scorelab/OpenDF</a>
<br/>
<b>Possible Mentors: </b>Milindu Sanoj Kumarage(sanoj@scorelab.org)
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="opendfimageanotation">
<h2>OpenDF - Image annotation and describe module</h2>
<p><p>When a disk image is being processed, the photo files will be piped to this module. This module should try to identify the contents of the image, try to annotate the objects and generate a description if can. Final goal of the module is to annotate and describe all the photos and store in Elasticsearch for easy searching.</p><p>This module will be on its own instance and should expose a RESTful API where OpenDF can interact with. You should finalize the module as a Docker images, where when spawned an instance, it should start all the needed services and be exposing the APIs.<p>Some links that might help you are,<br><a href="https://www.tensorflow.org/tutorials/image_recognition/" target="_blank">https://www.tensorflow.org/tutorials/image_recognition/</a><br><a href="https://research.googleblog.com/2016/09/show-and-tell-image-captioning-open.html" target="_blank">https://research.googleblog.com/2016/09/show-and-tell-image-captioning-open.html<br><a href="https://github.com/tensorflow/models/tree/master/im2txt" target="_blank">https://github.com/tensorflow/models/tree/master/im2txt</a><br></p>
<b>Required Knowledge: </b>Image processing, ML, TensorFlow, Python, RESTful services, Docker
<br/>
<b>Github: </b><a href="https://github.com/scorelab/OpenDF" target="_blank">https://github.com/scorelab/OpenDF</a>
<br/>
<b>Possible Mentors: </b>Milindu Sanoj Kumarage(sanoj@scorelab.org)
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="opendfacerecognition">
<h2>OpenDF - Face recognition and profiles module</h2>
<p><p>When a disk image is being processed, the photo files will be piped to this module. This module should try to identify the face on the images, try to annotate the faces. Module should maintain a database of identified faces as profiles, thus, all the images of the same person should be categorized under one profile. Users should be able to manage names and other details of the profiles on this database. When asked for images of a particular person, given a name or any other available detail, this module should suggest matching profiles. Given an image, this module should suggest matching profiles by identifying the face on the given image.</p><p>This module will be on its own instance and should expose a RESTful API where OpenDF can interact with. You should finalize the module as a Docker images, where when spawned an instance, it should start all the needed services and be exposing the APIs<p>Some links that might help you are,<br><a href="https://github.com/davidsandberg/facenet" target="_blank">https://github.com/davidsandberg/facenet</a></p>
<b>Required Knowledge: </b>Image processing, ML, TensorFlow, Python, RESTful services, Docker
<br/>
<b>Github: </b><a href="https://github.com/scorelab/OpenDF" target="_blank">https://github.com/scorelab/OpenDF</a>
<br/>
<b>Possible Mentors: </b>Milindu Sanoj Kumarage(sanoj@scorelab.org)
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="bassasetupandconfig">
<h2>Bassa - Setup, Automatic Updates and Docker</h2>
<p><p>When running Bassa for the first time, it should redirect to the setting up process, where the admin accounts are created, organization details and logos set. Other details like, file storage directories, DB settings, auto update checking period, etc also could be configured there.</p><p>Automatic Updates is where when we push a new release tag on Github, running Bassa instances should prompt to install the new version. If the user (admin user) accepts to install the new version, then the new version should get installed seamlessly.<p>Finally, Dockerize Bassa to let anyone simply run Bassa by running the Docker, which starts the databases, web servers, etc.</p></p>
<b>Required Knowledge: </b>Docker, Gulp, AngularJS, Material design standards
<br/>
<b>Github: </b><a href="https://github.com/scorelab/Bassa" target="_blank">https://github.com/scorelab/Bassa</a>
<br/>
<b>Possible Mentors: </b>Milindu Sanoj Kumarage(sanoj@scorelab.org)
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="scmaas">
<h2>SCMaas - Smart Contract Monitoring Service</h2>
<p><p>With the growing popularity of BitCoin in the last couple of years, other blockchains have been in development for solving various problems that need distributed consensus. Ethereum blockchain is one example, that gives users to develop "smart contracts" that runs in the blockchain.</p><p>This gives the ability to develop decentralized applications (or dApps). Users do not need to 'trust' anything or anybody.</p><p>In addition to that, dApps are always available and will be guaranteed to be available in the future as well.</p><p>Also, it is resistant to traditional attacks such as DDoS.</p><p>This framework has given many developers to write a decentralized application without much effort, without needing distributed systems or cryptography knowledge. Many startups are actively developing applications for Ethereum such as Ethereum Name Service (ENS), Etheria or WeiFund.</p><p>Unfortunately, because the technology being used is bleeding edge it is inevitable that attacks or hacks will target these apps for monetary reasons.</p><p>Last year DAO suffered a severe attack because of its security flaws. Due to that attack, 3.6m ether was stolen from DAO's smart contract.</p><p>Also, once you publish a smart contract in Ethereum it is not possible to modify or update it as a regular web application. Thus, even developers identify a critical bug in the contract it is not possible to push a bugfix in a straightforward way.</p><p>Thus, in order to fill the gap of not having a proper 'smart contract' compatible monitoring service, we propose to build a web application that can monitor other smart contracts in Ethereum and give the capability to safeguard it's critical functions (Ether send and receive) and interact and visualize with smart contract functions in a much simpler way.</p><p>Also depending smart contracts can using our base smart contracts to gain the advantage of having 'circuit-breaker' which will pause the activity if things go wrong in an unexpected way.</p></p>
<b>Required Knowledge: </b>ethereum, go, nodejs
<br/>
<b>Github: </b><a href="https://github.com/scorelab/SCMaas" target="_blank">https://github.com/scorelab/SCMaas</a>
<br/>
<b>Possible Mentors: </b>TBD
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="kuteSN">
<h2>Kute - Implement the feature for private vehicles that are travelling to a known destination on a regular basis</h2>
<p><p>When considering private vehicles, there are many vehicles in Sri Lanka that travel regularly by filling on a few seats or only the driver him/her self. The remaining space can be used by people travelling to same destination on same route. With this feature, the owner of the vehicle can update how many seats are available for passengers(friends) and this information along with the current location will be sent to passengers(friends). These passengers called friends are people who travel in the same road as the owner, on a regular basis. Friends can reserve their seats by requesting when they see available options around the covered geographic area.</p><p>Implementation- This has to be implemented for two friend groups:</p><ul><li>Among a friend list registered in the app database</li><li>Facebook Nearby Friends</li></ul><p>The user should be able to choose how he or she would choose friend groups.</p><p>The features include:</p><ul><li>Send friend request<li>Accept friend request</li><li>Create new route</li><li>Save daily routes (for hosters)</li><li>Share route with number of seats, route (from-to)</li><li>Friends can response to shared route to get the drive</li><li>Display advertisements in the app.</li></ul></p>
<b>Required Knowledge: </b>Android, Firebase
<br/>
<b>Github: </b><a href="https://github.com/scorelab/kute.git" target="_blank">https://github.com/scorelab/kute.git</a>
<br/>
<b>Possible Mentors: </b>Dilushi Piumwardane, Nithila Vithanage
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="ceylon-native">
<h2>Ceylon - Native compiler</h2>
<p><p>Ceylon-native is an initiative project to produce a free and open source compiler to compile <a href="https://ceylon-lang.org/"> Ceylon </a> to native code. Usually Ceylon runs on Java Virtual Machine and the default Ceylon compiler compiles the Ceylon codes into byte code or Javascript. In this project we use the ability of importing Ceylon modules to Java and compile Java to native code using GNU compiler for Java (<a href="https://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcj/" > GCJ </a>), using a dependency handling mechanism. Implementing the CLI tool for the compiler wrapping up all the dependency handling mechanisms used by Ceylon compiler is the main task of this project.</p></p>
<b>Required Knowledge: </b>Ceylon, C, Java, GCJ
<br/>
<b>Github: </b><a href="https://github.com/scorelab/ceylon-native" target="_blank">https://github.com/scorelab/ceylon-native</a>
<br/>
<b>Possible Mentors: </b>Tharindu Ranathunga(tharindu@scorelab.org)
</div>
</li>
</ul>
</section>
<section>
<ul style="padding-left: 25px;" type="circle">
<li>
<div id="drola-app">
<h2>Drola - Drone with Lora</h2>
<p><p>Drones use their radio link to communicate with their ground stations and controllers. Those radio links can communicate for a limited range. When a drone fly automatically through way points it may go away from radio link. Then ground station unable to monitor that drone any more. We want a system to monitor automatically flying drones using long range communication network “LORA” . Its mandatory to uniquely identifying each drone, for that we want to bind unique key to each drone. The final product should be a separate unit which can externally mound on any kind of drone.</p></p>
<b>Required Knowledge: </b>C++
<br/>
<b>Github: </b><a href="https://github.com/scorelab/drola" target="_blank">https://github.com/scorelab/drola</a>
<br/>
<b>Possible Mentors: </b>TBD
</div>
</li>
</ul>
</section>
</section>
</div>
</div>
<div id="footerwrap">
<div class="container">
<div class="row">
<div class="col-lg-12" style="text-align:center">
<p>
<a href="" class="btn-social btn-outline"><i class="fa fa-facebook"></i></a>
<a href="" class="btn-social btn-outline"><i class="fa fa-twitter"></i></a>
</p>
</div>
</div><!--/row -->
<div class="row">
<div class="col-lg-12" style="text-align:center; color:#fff">
© Copyright 2017 Sustainable Computing Research Group (SCoRe)
</div>
</div><!--/row -->
</div><!--/container -->
</div><!--/footerwrap -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="/assets/js/bootstrap.min.js"></script>
<script src="/assets/js/retina-1.1.0.js"></script>
<script src="/assets/js/jquery.hoverdir.js"></script>
<script src="/assets/js/jquery.hoverex.min.js"></script>
<script src="/assets/js/jquery.prettyPhoto.js"></script>
<script src="/assets/js/jquery.isotope.min.js"></script>
<script src="/assets/js/custom.js"></script>
<script>
// Portfolio
(function($) {
"use strict";
var $container = $('.portfolio'),
$items = $container.find('.portfolio-item'),
portfolioLayout = 'fitRows';
if( $container.hasClass('portfolio-centered') ) {
portfolioLayout = 'masonry';
}
$container.isotope({
filter: '*',
animationEngine: 'best-available',
layoutMode: portfolioLayout,
animationOptions: {
duration: 750,
easing: 'linear',
queue: false
},
masonry: {
}
}, refreshWaypoints());
function refreshWaypoints() {
setTimeout(function() {
}, 1000);
}
$('nav.portfolio-filter ul a').on('click', function() {
var selector = $(this).attr('data-filter');
$container.isotope({ filter: selector }, refreshWaypoints());
$('nav.portfolio-filter ul a').removeClass('active');
$(this).addClass('active');
return false;
});
function getColumnNumber() {
var winWidth = $(window).width(),
columnNumber = 1;
if (winWidth > 1200) {
columnNumber = 5;
} else if (winWidth > 950) {
columnNumber = 4;
} else if (winWidth > 600) {
columnNumber = 3;
} else if (winWidth > 400) {
columnNumber = 2;
} else if (winWidth > 250) {
columnNumber = 1;
}
return columnNumber;
}
function setColumns() {
var winWidth = $(window).width(),
columnNumber = getColumnNumber(),
itemWidth = Math.floor(winWidth / columnNumber);
$container.find('.portfolio-item').each(function() {
$(this).css( {
width : itemWidth + 'px'
});
});
}
function setPortfolio() {
setColumns();
$container.isotope('reLayout');
}
$container.imagesLoaded(function () {
setPortfolio();
});
$(window).on('resize', function () {
setPortfolio();
});
})(jQuery);
</script>
</body>
</html>