Cloning FCC's forum

I want to create a full-stack application, and I decided to create a forum - something similar to the one we’re on, with a different topic.

I think I’m going to use:

React - front end
Node.js - server
MongoDB - database

I want this to be completely functional, and plan on having people join (albeit, not sure if anyone actually will, lol).

Does anyone have any tips? Resources? Additional technologies?

Thank you :slight_smile:

A forum is a huge task, but would make for a great addition to your portfolio. I wouldn’t use Mongo for it, though. For a forum, you’ll want to be able to quickly fetch social data like “get the authors of all the posts that are in response to my post in topic X”. Relational DBs are much better at this sort of thing and Mongo isn’t. It’s possible, but slow and a pain in the ass to write.

If you get stuck on something, check out the Discourse project’s repo. They use Rails for the backend, but it’s easy enough to read that you should be able to understand what they’re doing (in a general sense). Also, don’t forget to share your repository here if you want other people to get in on this. It could be a neat community project, and then you’re not just the person who wrote some code, but also the person who organized an open source project.

Good luck!


creating a forum like the one we use would take a lot of developers, years of experience, and an abundance of time. We use Discourse for our forum platform. I wouldn’t try to re-invent the wheel if i were you. Discourse is an free/opensource platform you can read more here:


Yeah, I thought so - that’s why I wanted to do it, sort of. It’s challenging, and will take a lot of time. But, it would be cool if people could start using it, ASAP, so thanks for sharing that link, I’ll probably go with it.

Thank you!

1 Like

@PortableStick, thanks for sharing. I realized afterwords the mistake I made. Love the idea of the open source project. Are people generally interested in contributing, even if it’s not something they may be interested in(the topic of the forum)?

Thanks again, appreciate your feedback.

Why would anyone contribute to something they’re not interested in? Doubly so if they know they’d be reinventing the wheel, poorly? Triply so when there are thousands of existing projects that could use help and would be a better reference.

@username1001, creating a forum would be an interesting project. That’s something that’s been on my list of things to build, but between all of my other active projects and regular job, I haven’t found the time yet.

I’d suggest to start out small, break up the project into smaller pieces to make it more manageable, create a mockup of the design, and pseudocode some of the logic. The initial design and analysis will help you work through some of the issues you’ll come across because you’ll discover that some things are more involved than they sound when you just have an idea of what you want it to do. Like many other technology projects, this can be an ever evolving project for you. As your skills and knowledge improve, you can add new features or refactor the project to work a different way or implement a technology you learned recently.

It doesn’t matter if there are 1000 other forums out there. This would be a great learning experience that could help you in many other aspects of programming and website design and development. Don’t get discouraged and you can always ask for help when you get stuck on something.

Above all, have fun with it!!