Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Business

Jonny Slade
Jonny Slade
689 Points

Website project - what courses to study

Hi there

I'm new to Treehouse so please forgive me if this is a basic question!

I have a project that I'd like to implement but don't know what programming language to use to put my ideas into practice and would be grateful for some guidance on this.

I'd like to create a website with the following functionality:

  1. Two categories of user. Let's call them "customer" and "service provider".

  2. Secure document sharing - where a customer can upload a document which can then be viewed by one or multiple service providers (but only if they have been granted access - and the doc cannot be viewed by other customers).

  3. A secure interface between the customer and service provider, allowing one or multiple service providers to communicate directly to the customer (without other customers seeing what is being said). Not sure if this is possible but some kind of live chat functionality would be useful. Document sharing from the service provider back to the customer would also be useful.

  4. Email and/or text updates to the customer when a service provider responds to a customer query.

The key functionality is security. The documents a customer or service provider may upload are likely to be confidential to the customer and they'll want to be sure they will not be accessible to others.

Any guidance would be appreciated - thanks very much in advance!

2 Answers

The simplest way to answer is to tell you to go through the PHP Development track. That should give you enough knowledge overall with key technologies you need. At the very least it will give you enough to know where to delve into further to achieve your specific needs, e.g. whether you want to store information with database or not. There are other possible routes (developing web app with Ruby/Rails or Python even) but I think at least to begin with PHP is safest bet and I'd still recommend it as a foundation even if you eventually wanted to go down the route of using another web app language etc. The track will also help guide you through all the pre requisites anyway without me having to manually recommend individual courses here ;)

https://teamtreehouse.com/tracks/php-development

What you want to create is actually rather advanced, especially since security is a major concern. Everything is completely doable, but if you were to make all this yourself you are looking at a major time investment. You may find that the best choice for you is to create a product that makes use of different services and web APIs. Either way you will need to learn a full web stack to some degree.

To pull of a project like that on your own you would need to learn a full web stack, which basically means you need to learn front end and back end web development. Below I will give you some examples of languages you might want to (or must) learn for each end of the stack.

Front End (code that runs on a users web browser):

  • HTML (required)
  • CSS (required)
  • JavaScript (technically optional depending on the product but I would consider it a requirement to know)

You pretty much need to know at least a bit of this stuff if you want to make anything on the web yourself.

Back End (code that runs on a server):

  • PHP
  • Ruby on Rails
  • Java
  • Python
  • Node.js

For these back end languages you would only need to pick one to learn. PHP is fairly easy to get started with, but since I am not a back end developer I cannot really suggest which is right for your project. There are tutorials for all of these languages on Treehouse.

Take a look at the tracks. These are compilations of tutorials that will help give you a started.

I have the feeling that starting with such a large goal will dwarf your sense of progress especially if you have a lot of learning to do. I would suggest you break this up into much smaller chunks so you can get a sense of accomplishment to help motivate you :)

Good luck with your venture! ♥

Sam Katz
Sam Katz
2,986 Points

I'm still beginning/intermediate, but...

not all of those backend technologies are necessary in one project, and many of them are related like node.js and javascript, or java and spring. (both being server-side technologies). presumably some of it will be selected by other people.

asking what languages/technologies to build something in is not a stupid question. but yes, you should hire people, and then manage them. There are also courses on udemy that may address security more completely. a tech college may also be able to help.