Web Development

The Venus Project website is the digital face of the organization. It aims to provide information to its audience in a systematic way so they are able to learn easily from the vast pool of knowledge that has been collected throughout the years. Continuous improvement is at the heart of The Venus Project and we always strive to design and organize the content better.

The Website team is responsible for:

  • Ensuring that all functionality on the website consistently works as expected and resolving any problems that arise
  • Developing and adding new features to The Venus Project’s website and the underlying infrastructure
  • Researching, testing and implementing technical solutions to problems that The Venus Project faces in pursuing its Aims and Proposals

Our Website is hosted at SiteGround and at the core it’s driven by the content management system WordPress.

The core functionality is provided by these plugins and extensions:

We are always looking for new people with skills and enthusiasm to take The Venus Project’s website to a new level. If you want to contribute to the constantly ongoing web development, these are the requirements:

  • Experience with any of the above platforms, extensions and plugins
  • Experience with some or all of the following:
    • PHP
    • MySQL
    • Javascript/jQuery
    • HTML / CSS
    • Apache
    • nginx
    • Linux server administration
    • Web security
    • Postmaster and email deliverability

If you don’t possess any of the mentioned skills but would like to learn them, see the section below. We have collected a set of materials and ordered them in a way that gives you a learning path. We hope this will enable anyone with the desire to become a web developer to do so and to eventually join our team.

To get involved with the team, please submit the form below.

Please make sure that you enter your email address correctly, otherwise we won't be able to reply to you.
Please make sure that the link is publicly accessible

Learn Web Development

For those who do not have web development skills but would like to learn them, we have compiled a list of resources to help you do that. Before you start, here are some general guidelines to follow throughout your learning experience:

– Do all the exercises from the tutorials. Take the time to complete the steps and tasks they give you. Don’t just watch how they do it. Real learning happens when you do it yourself.
– Do not copy and paste code. Instead, when a tutorial goes through some code, type it manually yourself. This will help you think about what is actually happening in the code. You will understand it much better if you write it instead of just looking at it.
– Try very hard to understand what is happening at every single line of the code that is being analyzed in a tutorial. Take your time and really think it through. What is actually happening in the code and why is it done this way? Sometimes you may just need to give yourself some time and think about it, other times you may need to research it. If you need to research it, it is likely that you would need to read the documentation about the syntax of the language that occurs on the line you don’t understand. (As an example, if we have the code 1 !== "1", we might need to read the documentation on integers (like 1), on strings (like "1") and on the !== operator.)
– The sooner you start doing projects by yourself from scratch, the better. So, as soon as you start feeling comfortable with the basics of some language, perhaps after completing a tutorial, try to do at least one project all alone, by yourself. Try to come up with a project that is more or less at your level. It’s one thing to follow a tutorial, but it’s a very different thing to have to come up with a plan for how to do the whole job, completely on your own. Doing this will also force you to read the documentation of some of the language’s syntax that you might need to use, so your knowledge will become much deeper this way.

If you are looking to get involved in web development (which means creating programs and websites that are available on the Internet, not just on your computer), the place to start with is HTML. Then continue with CSS. After that you may continue with either Javascript or PHP. (We have not included languages that aren’t used in the platforms The Venus Project utilizes.)

1. http://htmldog.com/guides/html/beginner/

This is an introduction to the basics of HTML.

2. http://www.w3schools.com/html/

This is a much more comprehensive tutorial of HTML. Don’t try to memorize everything here. Rather, try to understand the concepts behind the various HTML tags. Then, whenever you need to remind yourself of what exactly some tag does or what attributes there are for it, you will know where exactly to go and look up that information.

Note: keep in mind that you need some basic knowledge of HTML before diving into CSS.

1. http://www.w3schools.com/css/

This tutorial gives you all the basic theoretical knowledge you need in order to understand what CSS is about and what you can do with it.

2. HTML5 and CSS3 beginner tutorial

This is a video tutorial that goes through many basics. You can take a look at some practical, real-world coding in action.

3. http://jigsaw.w3.org/css-validator/#validate_by_input

The CSS validator can discover bugs in your code, even in your entire website, so it can be invaluable.

4. http://www.csszengarden.com/

Some inspiration.

Note: before going into Javascript, you need to have knowledge of HTML and CSS.

1. http://www.w3schools.com/js/default.asp

W3Schools’ tutorial seems like a good starting point.

2. http://www.codecademy.com/en/tracks/javascript

Another good tutorial.

3. Javascript Essential Training

You will be building a lot more complex things that are closer to real-world applications.

4. Practical and Effective Javascript

This tutorial provides some very important and useful information about various aspects of Javascript.

5. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference

When you are at the beginning of learning Javascript, you might be going to the W3Schools reference when you need to look up a function or a DOM element. After some time, however, you might want to switch to a much more technical and detailed documentation. MDN provides just that.

Note: jQuery is a Javascript library. You would first need to learn Javascript before learning jQuery.

1. http://www.w3schools.com/jquery/

W3Schools’ tutorial again offers nice and simple explanations.

2. jQuery Essential Training

Essential training.

Note: before starting to learn PHP, you will need to have an understanding of HTML. We also recommend CSS.

1. PHP6 and MySQL Bible

This book might seem a little hard for a beginning. However, the examples inside, while requiring a lot of thought, will give you a much deeper understanding of how PHP works.

2. Diving into PHP

Jeffrey Way moves fast in this series of very valuable tutorials. Make sure you follow what is happening.

3. PHP with MySQL Essential Training

Now we dive deeply and start building a real website. Make sure you do the assignments!

4. PHP with MySQL Beyond the Basics

A next-level continuation of the above tutorial. It gets into Object-Oriented Programming (OOP).

5. Pro PHP Security

Pro PHP Security covers a wide variety of security essentials. Before you make any applications live on the Internet, read this book. It will introduce you to many security concerns that you really need to know about.

1. http://www.w3schools.com/sql/

A basic introduction to SQL.

2. SQL: A Beginner’s Guide, Third Edition

This book covers SQL in depth and in a very accessible way. Easy to read and has practical exercises.

1. WordPress database structure

An overview of the WordPress database structure.

2. Default Post Types

How WordPress organizes its content into units called “post types”. Learn about the default post types that are predefined for you.

3. Custom Post Types

Beyond the predefined post types in WordPress, there exists the possibility for defining your own custom post types. This offers unlimited opportunities for organizing content into whatever units you wish. Truly powerful.

Thinking and Learning, Debugging
1. Pragmatic Thinking and Learning

This book synthesizes an incredible web of topics like creativity, problem solving, competence, making the best of your time and your focus, organizing your knowledge, project management, and much more. Around the Internet, there is a lot of feedback from computer programmers saying this book changed the way they work, and it certainly can do that. Your productivity can shoot up many, many times. Of central interest not only to computer programmers but to, as the title suggests, any thinking and learning.

2. Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems

A very general methodology for debugging any software or hardware system. The life of any computer programmer consists of so much debugging, it can make a tremendous difference to significantly reduce down the debugging time. Even seasoned experts can find new and useful information here. The book contains a poster with debugging rules that you can hang on a wall to help you stay conscious of methodology as you are debugging.