What is needed to code a social network web app? - Professional project

Hello freeCodeCamp community,

It is my first post here, I’ve been enjoying the video tutorials for a while; they are a great source of knowledge - great many thanks for that. I’ll give a bit of background before going to the question because they’re important to understand what I a; asking… sorry for the TL;DRs

I am working in a very small company (we are two) in a small country and we are mainly working on webdesign/digital marketing projects where WordPress is usually more or less enough, but we have been involved in a way more ambitious project: basically we are trying to mesh functionalities of facebook and tripadvisor or yelp; we want

  • users can search for cafés nearby (including geolocation to see the nearest open place) and rate them, search by rating/coffee origin/country and whatnot
  • a whole social network where user can comment on a café’s page, follow their activity, be updated with their news via notifications; be able to like, upload photos, and so on
  • cafés to have business page a bit like facebook to communicate with their followers, create events for special occasions
  • coffee growers to also have a business page that can be followed by other business pages or café owners to interact much in the same way as consumers/cafés - so they can be updated on new supplies or stuff like that

So well, you guessed, it’s complicated. We more or less managed to build the website, but it’s an unholy mix of: direct HTML/SCSS coding + wordpress pages + theme + ratings plug-in + social network plug-in + a host of other plug-ins + the kitchen sink. Good lord I feel dirty by just spelling it out loud.

Now it’s not even about it that I write, but the next step: the app. I’m not saying we’ll go for that, but if we were to develop it ourselves, what would we need exactly? (or your answers can also guide us when discussing with providers to understand better what design choices they would make)

Especially I’m interested in a “what would it take to code it all” view, I’m burnt by the hair-splitting interactions of coding at different “levels”: raw code / WP page builder / custom code / shortcodes etc. I yearn for basic code where I know where what is and what does what without having to semi-reverese-engineer whatever shortcode and tag extra html on that to make it work like we want to.

  • For the front-end, I’m reasonably confident we’d like to go for a web app in HTML/CSS/JS because we simply don’t have the resources to start going for native coding and double the workload / language knowledge necessary.
  • Then PhoneGap/Cordova
  • And then it starts going fuzzzy; we are way less familiar with back-end stuff and even after research it is not exaclty clear what I need to know and what choices I need to make. I’m looking at Node.js at the moment, in no small part because it’s building on JS skills, but I’m less clear exactly what of my needs it covers and what it doesn’t.
  • And then then it’s even fuzzier. Ok it’s pitch black :wink: What else is needed?

So, here we are, end of the wall of text. So guys, knowing our goal, If we were to build that from scratch, what do you say we need and for what? If anything, I’m interested in the answers from a personal challenge POV - even if we go for an outside solution this project has tickled me and I may see what I am able to develop as a leisure. Set high goals, eh?

Thanks and congrats if you read that all :wink:

Hello @Nostro, welcome to FreeCodeCamp Forum! :confetti_ball:

As far as i could remember there are few social media tutorial on js out there: i followed the brad traversy one some time ago ( MERN Stack front to back - udemy | MERN Stack front to back - github ), that will give you an idea of the dot to connect so to speak ^^
From there to professional is not a single step: there are a lot of stuff to add, to include, to refactor, …
To give you an idea of how to get the things done the above course (or other similar) should be enough , but, especially if you’re not familiar with back-end it could be quite troublesome to create a similar app from scratch :confused:


Hello @Layer,

Thanks for the welcome and thanks for the pointers !

Yes, as you said there’s a good chance it would be troublesome to build from scratch especially for a business perspective, though now that my curiosity is piqued it’s a pet interest. So now I’m listening to the Brad Traversy tutorial (don’t think I’m going to fork for udemy yet) and your answers have guided me to where to look; which I was lacking so it’s a nice improvement… so as a result I’m now researching MERN but MEAN as well, and even MEVN (is that a thing yet? :wink: ).

If anyone has other ideas as well; feel free to shoot :slight_smile: