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
  Sammantha Mesa
2,147 PointsHey guys! So I have a site idea and have no idea where to start!
So I want this site to have: A login/signup (you have to be logged in to post images, music, videos, text posts) I also want logged in members to be able to favorite something and have it on their personal page along with the stuff they post. People that don't have an account can just look through the site (can't favorite or post) What lag.(s) do I have to learn to do this and do I need a database software.
1 Answer
Alec Plummer
15,181 PointsThere are many different routes you can take to accomplish this. As a general answer though you will need a server, a database, a front-end/UI and some interactivity. You could make this with the MEAN stack, or ruby on rails, or c# on the .net framework..the list goes on and on lol.
server: this will handle all of your routing, user authentication, file uploads/transfers and basic back-end stuff. database: this will store all of your user information and uploaded content. front-end/UI: this will be what your users see and how they interact with other users by adding content to favorites, sharing posts etc..
What languages do you already know/want to learn? Use that as a starting point, find out what frameworks can help you get started. For example, I love javascript so I could use node.js, express, angular and mongoDB (MEAN stack) to accomplish this. Node.js is a runtime environment written in c++ that allows you to write javscript on the server, express is a framework on top of node.js that kickstarts your back-end, angular would act as your MVC and handle all front end data handling, and mongoDB is a non-relational database that can quickly get you storing schema-less data that looks a lot like json (easy as pie to manipulate on the front end).
You have a pretty ambitious project but very do-able with a little elbow grease and some time to learn the skill set required. Check out https://teamtreehouse.com/tracks/full-stack-javascript to help you get started if you think javascript is a good way to go. Good luck, hope some of this info helped!