Screenshots follow below:
So how does this forum work? Well, when a user wants to make a post the page sends a request to the server where my Node.js code handles the request and stores the post contained in the request in a database. This post is then listed in it’s correct sub forum and is pulled from the database when it is needed so viewers can view it. So the website is entirely dynamic.
I included the ability to log in and make posts, delete posts, reply to posts, upload images, and upload post thumbnails (automatically created from first image in a post). You can also create a user profile for your username and others can see it when they click on your username. I created a section to display the most recent posts from any of the sub forums on the front page and used AJAX requests to update how many unread new posts there were in each sub forum. Overall I tried to make it a full-featured forum site.
I modeled this site after the http://www.blenderartists.org site which is a site I’ve used a lot and highly admire. I had to use some site to emulate because I don’t have that good of an idea of what a good forum site looks like off the top of my head.
I had a lot of fun with this project and really was able to apply a lot of what I had learned about Node.js and back-end programming from tutorials. You can’t learn everything from tutorials though and sometime you need real-life application. I didn’t put a lot of work into the styling of the page but I did try to make it make sense at least. I don’t know when this knowledge of Node.js and back-end programming will come in handy, but I’m sure it will come in handy someday. Maybe somebody will want to have me build a forum for them?
If any of you need a website done for you even if you don’t need a full-featured forum, email me because I can create custom websites for small businesses for a low cost! Click the link ‘Web Design’ at the top of this page to see my portfolio and learn more.
If you have any questions about this project or how I created it just leave a comment down below!