diff --git a/project/pages/tests.py b/project/pages/tests.py index aabddcf..70a96ed 100644 --- a/project/pages/tests.py +++ b/project/pages/tests.py @@ -49,3 +49,17 @@ class AllProjectsTestCase(TestCase): def test_accessable(self): response = self.client.get(reverse('pages:all-projects')) self.assertEqual(response.status_code, 200) + + +class RoboticsTestCase(TestCase): + def test_2015_index_accessable(self): + response = self.client.get(reverse('pages:robotics-2015-index')) + self.assertEqual(response.status_code, 200) + + def test_2014_index_accessable(self): + response = self.client.get(reverse('pages:robotics-2014-index')) + self.assertEqual(response.status_code, 200) + + def test_2015_robot_accessable(self): + response = self.client.get(reverse('pages:robotics-2015-robot')) + self.assertEqual(response.status_code, 200) diff --git a/project/pages/urls.py b/project/pages/urls.py index f5b0c9b..7bfa65b 100644 --- a/project/pages/urls.py +++ b/project/pages/urls.py @@ -6,7 +6,14 @@ urlpatterns = [ url(r'^about/website/$', views.about.WebsiteView.as_view(), name='about-website'), url(r'^about/me/$', views.about.MeView.as_view(), name='about-me'), url(r'^about/$', views.about.IndexView.as_view(), name='about'), + url(r'^projects/all/$', views.projects.AllView.as_view(), name="all-projects"), url(r'^projects/(?P.+)/$', views.projects.ProjectView.as_view(), name="projects"), + + url(r'^robotics/$', views.robotics.IndexView.as_view(), name="robotics-index"), + url(r'^robotics/2014/$', views.robotics.Index2014View.as_view(), name="robotics-2014-index"), + url(r'^robotics/2015/robot/$', views.robotics.Robot2015View.as_view(), name="robotics-2015-robot"), + url(r'^robotics/2015/$', views.robotics.Index2015View.as_view(), name="robotics-2015-index"), + url(r'^$', views.core.IndexView.as_view(), name='index') ] diff --git a/project/pages/views/__init__.py b/project/pages/views/__init__.py index a58b58c..996541b 100644 --- a/project/pages/views/__init__.py +++ b/project/pages/views/__init__.py @@ -1 +1 @@ -from . import about, core, projects +from . import about, core, projects, robotics diff --git a/project/pages/views/robotics.py b/project/pages/views/robotics.py new file mode 100644 index 0000000..aa2b274 --- /dev/null +++ b/project/pages/views/robotics.py @@ -0,0 +1,19 @@ +from project.common.views import CustomTemplate + + +class IndexView(CustomTemplate): + template_name = 'robotics/index.html' + + +# 2015 +class Index2015View(CustomTemplate): + template_name = 'robotics/2015-index.html' + + +class Robot2015View(CustomTemplate): + template_name = 'robotics/2015-robot.html' + + +# 2014 +class Index2014View(CustomTemplate): + template_name = 'robotics/2014-index.html' diff --git a/static/src/less/assets.less b/static/src/less/assets.less new file mode 100644 index 0000000..df192f0 --- /dev/null +++ b/static/src/less/assets.less @@ -0,0 +1,6 @@ +@btn-srobo-color: @gray-lighter; +@btn-srobo-bg: #253571; +@btn-srobo-border: darken(@btn-srobo-bg, 5%); +.btn-srobo { + .button-variant(@btn-srobo-color; @btn-srobo-bg; @btn-srobo-border); +} diff --git a/static/src/less/style.less b/static/src/less/style.less index 3fa9e4f..343bf13 100644 --- a/static/src/less/style.less +++ b/static/src/less/style.less @@ -7,6 +7,7 @@ @import 'homepage'; @import 'variables'; @import 'navbar'; +@import 'assets'; /* @group Global */ .btn { @@ -41,7 +42,7 @@ a.no-color-change { /* @group Functional */ -p.center-text { +.center-text { text-align: center; } diff --git a/templates/robotics/2014-index.html b/templates/robotics/2014-index.html new file mode 100644 index 0000000..a5738e9 --- /dev/null +++ b/templates/robotics/2014-index.html @@ -0,0 +1,46 @@ +{% extends 'content_base.html' %} + +{% block pageTitle %}Student Robotics 2014{% endblock %} + +{% block headercontent %} +
+

Student Robotics 2014

+
+
+

The home of Lucy. (No it doesnt stand for anything)

+
+{% endblock %} + +{% block content%} +
+
+
+ +
+
+

Welcome to the homepage of Collyer's Student Robotics Team 2015 (The 'A' Team) - Creators of 'A.L.I.C.E'! Here you can see everything that goes on throughout the competition.

+

This website is here to bridge the gap between the team and the outside world, and also to document everything that we do so that parents and Blue Shirts can see what we have been getting up to! Not only is the website for this, but it's also in the competition too! There is a prize (Awarded at the competition itself), for the best online presence. Hopefully no one else that has entered has their own domain name with dedicated section for the competition!

+
+
+
+ +
+

The Competition

+

As was announced at kickstart, the game for this year is a take on the classic gamemode Capture the Flag. 4 teams compete over 5 flags to move as many of them as they can into their scoring zones. The person with the most flags in their scoring zone wins.

+

The flags are 25cm cubes of wood on caster wheels weighing roughly 2kg. The rules prevent us from lifting them, so the idea is to drag them around!

+

To see a copy of the rules from the competition, Click Here!

+
+ +
+

Why call it 'ALICE'?

+

The decision to name the robot 'Alice' was a decision made by the whole group. Thats a lie, Ben suggested it and as no one had any better ideas and because he gets overruling vote on this for some reason , it stuck.

+

After this decisions was made, I decided to set out to find the cheesiest acronym we could for 'Alice', to make the name slightly more interesting, and not some random girls name pulled from thin air on the bus ride home from kickstart. There were a few rather good ideas, most of them coming from Sam:

+

+

One idea was also suggested that we name the robot after the first sponsor we got, but as we didnt get one util after the team split, the other team took that name instead. In the end we decided to go with one that Sam initially suggested, so 'Alice' officially stands for:

+

'Autonomous Logistics and Inevitable Collision Engine'

+
+{% endblock %} diff --git a/templates/robotics/2015-index.html b/templates/robotics/2015-index.html new file mode 100644 index 0000000..12a6613 --- /dev/null +++ b/templates/robotics/2015-index.html @@ -0,0 +1,47 @@ +{% extends 'content_base.html' %} + +{% block pageTitle %}Student Robotics 2015{% endblock %} + +{% block headercontent %} +
+

Student Robotics 2015

+
+
+

The home of the Autonomous Logistics and Inevitable Collision Engine!

+
+{% endblock %} + +{% block content%} +
+
+
+ +
+
+

Welcome to the homepage of Collyer's Student Robotics Team 2015 (The 'A' Team) - Creators of 'A.L.I.C.E'! Here you can see everything that goes on throughout the competition.

+

This website is here to bridge the gap between the team and the outside world, and also to document everything that we do so that parents and Blue Shirts can see what we have been getting up to! Not only is the website for this, but it's also in the competition too! There is a prize (Awarded at the competition itself), for the best online presence. Hopefully no one else that has entered has their own domain name with dedicated section for the competition!

+
+
+
+ +
+
+
+

The Competition

+

As was announced at kickstart, the game for this year is a take on the classic gamemode Capture the Flag. 4 teams compete over 5 flags to move as many of them as they can into their scoring zones. The person with the most flags in their scoring zone wins.

+

The flags are 25cm cubes of wood on caster wheels weighing roughly 2kg. The rules prevent us from lifting them, so the idea is to drag them around!

+

To see a copy of the rules from the competition, Click Here!

+
+ +
+
+{% endblock %} diff --git a/templates/robotics/2015-robot.html b/templates/robotics/2015-robot.html new file mode 100644 index 0000000..a4f0f84 --- /dev/null +++ b/templates/robotics/2015-robot.html @@ -0,0 +1,51 @@ +{% extends 'content_base.html' %} + +{% block pageTitle %}The Robot | SR 2015{% endblock %} + +{% block headercontent %} +
+

A.L.I.C.E

+
+
+

The Autonomous Logistics and Inevitable Collision Engine!

+
+{% endblock %} + +{% block content%} +
+

+ Our entry for 2015, named 'ALICE', was a massive improvement over last years model, in both design, and the code for it. Before ALICE was built, the design team built us a very basic chassis usind scrap parts from 2014, which allowed us to write a large amount of the code base before we even had the robot built. Originally I wanted the final chassis to be built before the end of January, so we had a lot of time to test out the design for the robot and test using the final, in reality, it was closer to the middle of march before this was a reality. +

+
+
+
+
+ +
+
+
+
+

+ The entire chassis was made from custom, in-house cut, sheets of plywood, which allowed us to be very precise in the design of the robot to make sure that all the pieces would fit together properly, making the chassis less likely to break. +

+

+ The initial design was concieved by Ben, at kickstart, and was then refined over the coming weeks by me and the rest of the building team. This was made much easier from the use of the 3d model (See Right), that ben made, which helped us visualize any changes that were to be made, as well as work out strategy by seeing the measurements we had to work with. +

+

+ Once the build was completed, it was to a much higher design and quality than I could have ever imagined! It allowed us to forget about any shortcomings when it came to chassis, not having to compensate for weight distribution, or worry about the grip on the wheels. +

+
+ +
+

Why call it 'ALICE'?

+

The decision to name the robot 'Alice' was a decision made by the whole group. Thats a lie, Ben suggested it and as no one had any better ideas and because he gets overruling vote on this, for some reason , it stuck.

+

After this decisions was made, I decided to set out to find the cheesiest acronym we could for 'Alice', to make the name slightly more interesting, and not some random girls name pulled from thin air on the bus ride home from kickstart. There were a few rather good ideas, most of them coming from Sam:

+

+

One idea was also suggested that we name the robot after the first sponsor we got, but as we didnt get one util after the team split, the other team took that name instead. In the end we decided to go with one that Sam initially suggested, so 'Alice' officially stands for:

+

'Autonomous Logistics and Inevitable Collision Engine'

+
+{% endblock %} diff --git a/templates/robotics/index.html b/templates/robotics/index.html new file mode 100644 index 0000000..01a4b6e --- /dev/null +++ b/templates/robotics/index.html @@ -0,0 +1,43 @@ +{% extends 'content_base.html' %} + +{% block pageTitle %}Student Robotics{% endblock %} + +{% block content%} +
+

Student Robotics is the the place where my development knowledge really started to grow. Thanks to the other people in my team teaching me. I had never done anything robotics related, and so when my computing teacher initially told us about it, I wasnt really interested. After I found out that my friend was also doing it, I signed up, and went along to the kickstart. From then on I was hooked, getting involved with all aspects of the development and design, as well as helping out other teams on the IRC room.

+
+ +
+

What is Student Robotics?

+

Student Robotics is a volunteer organisation that runs an annual robotics competition for 16-18 year olds. It was originally founded by students from the University of Southampton in 2006, and now includes volunteers (“Blue Shirts”) from multiple other universities, including the University of Bristol and Grenoble INP. It primarily takes teams and volunteers from the UK, but also some from Germany and France.

+

To find out more, visit their website Here.

+
+ +
+

Being at college for 2 years, meant I was able to enter 2 years of competitions, SR14, and SR15. We were encouraged to gain an online presence for our team, so I created a website for both years. Unfortunately due to account inactivity, and me changing my website 3 times since, The original pages have been lost, however all the content still remains. Below you can find all the content, media and information about both competitions, as well as the source code for Lucy, the 2014 entry.

+
+ +
+
+
+
+
+

Student Robotics 2014

+

Robot Name: Lucy

+

More Info

+
+
+
+ +
+
+
+

Student Robotics 2015

+

Robot Name : A.L.I.C.E (Autonomous Logistics and Inevitable Collision Engine)

+

More Info

+
+
+
+
+
+{% endblock %}