1- var app = angular . module ( 'site' , [ 'ui.bootstrap' , 'ngAria' ] ) ;
2- var bootcampData = {
3- "Bootcamp" : [ {
4- "Week" : 1 ,
5- "Title" : "Getting Started" ,
6- "Objectives" : [ "some objectives" , "some objectives" , "some objectives" ] ,
7- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-1/README.md" ,
8- "Lessons" : [ {
9- "number" : 1 ,
10- "name" : "Introductions" ,
11- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-1/LESSON-1.md"
12- } , {
13- "number" : 2 ,
14- "name" : "Lab Guides" ,
15- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-1/LESSON-2.md"
16- } , {
17- "number" : 3 ,
18- "name" : "Let's Get Moving!" ,
19- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-1/LESSON-3.md"
20- } ]
21- } , {
22- "Week" : 2 ,
23- "Title" : "Building a Weak Application (Development)" ,
24- "Objectives" : [ "Develop a Rails API" , "Deploy to AWS manually" , "Explore AWS-CLI & AWS-SDK" ] ,
25- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-2/README.md" ,
26- "Lessons" : [ {
27- "number" : 1 ,
28- "name" : "" ,
29- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-2/LESSON-1.md"
30- } , {
31- "number" : 2 ,
32- "name" : "" ,
33- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-2/LESSON-2.md"
34- } , {
35- "number" : 3 ,
36- "name" : "" ,
37- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-2/LESSON-3.md"
38- } ]
39- } , {
40- "Week" : 3 ,
41- "Title" : "Security" ,
42- "Objectives" : [ "Deploy a Vulnerable application to AWS" , "Attack the application using different techniques (e.g. OWASP Top 10)" , "Explore security tools (e.g. Metasploit, NMap, SQLMap, BurpSuite ...etc)" ] ,
43- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-3/README.md" ,
44- "Lessons" : [ {
45- "number" : 1 ,
46- "name" : "" ,
47- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-3/LESSON-1.md"
48- } , {
49- "number" : 2 ,
50- "name" : "" ,
51- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-3/LESSON-2.md"
52- } , {
53- "number" : 3 ,
54- "name" : "" ,
55- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-3/LESSON-3.md"
56- } ]
57- } , {
58- "Week" : 4 ,
59- "Title" : "Keeping the Weak Alive (Operations)" ,
60- "Objectives" : [ "Understanding data generated by attackers" , "Detection & alerting with Splunk" ] ,
61- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-4/README.md" ,
62- "Lessons" : [ {
63- "number" : 1 ,
64- "name" : "" ,
65- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-4/LESSON-1.md"
66- } , {
67- "number" : 2 ,
68- "name" : "" ,
69- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-4/LESSON-2.md"
70- } , {
71- "number" : 3 ,
72- "name" : "" ,
73- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-4/LESSON-3.md"
74- } ]
75- } , {
76- "Week" : 5 ,
77- "Title" : "Building a Rugged Application (Development)" ,
78- "Objectives" : [ "Service Oriented Architecture (SOA)" , "Automated AWS Deployments with CloudFormation" , "Whitelisting & Attack Maps" ] ,
79- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-5/README.md" ,
80- "Lessons" : [ {
81- "number" : 1 ,
82- "name" : "" ,
83- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-5/LESSON-1.md"
84- } , {
85- "number" : 2 ,
86- "name" : "" ,
87- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-5/LESSON-2.md"
88- } , {
89- "number" : 3 ,
90- "name" : "" ,
91- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-5/LESSON-3.md"
92- } ]
93- } , {
94- "Week" : 6 ,
95- "Title" : "Rugged Security" ,
96- "Objectives" : [ "Account Takeovers" , "Advanced cloud hacking techniques" , "Lateral movement & privilege escalation" ] ,
97- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-6/README.md" ,
98- "Lessons" : [ {
99- "number" : 1 ,
100- "name" : "" ,
101- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-6/LESSON-1.md"
102- } , {
103- "number" : 2 ,
104- "name" : "" ,
105- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-6/LESSON-2.md"
106- } , {
107- "number" : 3 ,
108- "name" : "" ,
109- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-6/LESSON-3.md"
110- } ]
111- } , {
112- "Week" : 7 ,
113- "Title" : "Rugged Operations" ,
114- "Objectives" : [ "Restacking AWS Accounts" , "Forensics in the Cloud" , "Incident Response in the Cloud" ] ,
115- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-7/README.md" ,
116- "Lessons" : [ {
117- "number" : 1 ,
118- "name" : "" ,
119- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-7/LESSON-1.md"
120- } , {
121- "number" : 2 ,
122- "name" : "" ,
123- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-7/LESSON-2.md"
124- } , {
125- "number" : 3 ,
126- "name" : "" ,
127- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-7/LESSON-3.md"
128- } ]
129- } , {
130- "Week" : 8 ,
131- "Title" : "Red Team vs Blue Team (Hack Lab)" ,
132- "Objectives" : [ "Put all your skills together" , "Hack all the things" , "Don't get caught by the Blue Team" ] ,
133- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-8/README.md" ,
134- "Lessons" : [ {
135- "number" : 1 ,
136- "name" : "" ,
137- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-8/LESSON-1.md"
138- } , {
139- "number" : 2 ,
140- "name" : "" ,
141- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-8/LESSON-2.md"
142- } , {
143- "number" : 3 ,
144- "name" : "" ,
145- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-8/LESSON-3.md"
146- } ]
147- } , {
148- "Week" : 9 ,
149- "Title" : "Presentations: 5-minute Demos" ,
150- "Objectives" : [ "Problem-sovling" , "Contribute to the open-source community" , "" ] ,
151- "url" : "https://github.com/devsecops/bootcamp/blob/master/Week-9/README.md" ,
152- "Lessons" : [ {
153- "number" : 1 ,
154- "name" : "" ,
155- "url" : ""
156- } , {
157- "number" : 2 ,
158- "name" : "" ,
159- "url" : ""
160- } , {
161- "number" : 3 ,
162- "name" : "" ,
163- "url" : ""
164- } ]
165- } ]
166- } ;
1+ var app = angular . module ( 'site' , [ 'ngAnimate' , 'ui.bootstrap' , 'ngAria' ] ) ;
1672
1683var projectsData = { "All projects" : [ "awesome-devsecops" , "controlplane" , "heroes" , "raindance" , "radar" , "assumer" , "playbook" , "devsecops" , "forecast" , "firebolt" , "weatherman" , "foghorn" , "experiments" , "catv" , "science" , "aws-policies" , "ssl_checks" ] } ;
1694app . controller ( 'MainCtrl' , [ '$scope' , 'filterFilter' , '$anchorScroll' ,
1705 function ( $scope , filterFilter , $anchorScroll ) {
6+ $scope . tabs = [ { title : "Projects" } , { title : 'Bootcamp' } ] ;
7+
1718 var self = this ;
1729 self . projects = projectsData ;
173- self . bootcamp = bootcampData ;
17410
17511 $ . ajax ( {
17612 url : 'https://raw.githubusercontent.com/devsecops/devsecops.github.io/master/data/projects.json' ,
17713 dataType : 'json' ,
178- // jsonpCallback: 'JSON_CALLBACK',
17914 success : function ( data ) {
18015 var projects = data . AllProjects ;
18116 $scope . currentPage = 1 ; //current page
@@ -199,18 +34,15 @@ app.controller('MainCtrl', ['$scope', 'filterFilter', '$anchorScroll',
19934 } ) ;
20035
20136 self . projects = projects ;
202- self . featuredProjects = featuredProjects ;
20337 $scope . $apply ( ) ;
20438 }
20539 } ) ;
20640 $ . ajax ( {
207- url : 'https://popularrepostg.blob.core.windows.net/popularrepos/projectssummary.json' ,
208- dataType : 'jsonp' ,
209- jsonpCallback : 'JSON_CALLBACK' ,
210- success : function ( stats ) {
211- if ( stats !== null ) {
212- $scope . overAllStats = stats [ 0 ] ;
213- }
41+ url : 'https://raw.githubusercontent.com/devsecops/devsecops.github.io/master/data/bootcamp.json' ,
42+ dataType : 'json' ,
43+ success : function ( data ) {
44+ $scope . bootcamp = data . Bootcamp ;
45+ $scope . $apply ( ) ;
21446 }
21547 } ) ;
21648 }
0 commit comments