DEV Community

Cover image for Introducing DEVBlogs - Linode + DEV Hackathon
Ankit Kumar
Ankit Kumar

Posted on

Introducing DEVBlogs - Linode + DEV Hackathon

What I built

I built a clone of dev.to that incorporates the majority of its features. The site I built functions similarly to dev.to, allowing users to create profiles, publish articles, interact with other users through comments and reactions.

Category Submission:

Wacky Wildcard

App Link

https://django-devblogs.vercel.app/

Screenshots

Homepage
homepage-screenshot
Page to Write an Article
post-create-page-screenshot

User Profile

user-profile-page-screenshot

Description

This is a dev.to clone, that incorporates the majority of its features. The site I built functions similarly to dev.to, allowing users to create profiles, publish articles, interact with other users through comments and reactions and many more. The Backend is built with Django and DjangoRestFrameword and for the frontend I have used ReactJs.

Link to Source Code

Source Code:- Github

Permissive License

GPL-3.0 license

Background

Recently, I learned DjangoRestFramework and ReactJs, and I wanted to explore both technologies and come up with ideas for a new project. Ultimately, I decided to create a dev.to clone, as it would allow me to apply my newly acquired knowledge in a practical way while also replicating the functionality of a popular platform for software developers.

How I built it

I used Django and DjangoRestFramework to build the API, and Deployed it on Linode Server, Thanks to $100 credit. I learned how to setup a Linux server this article was very helpful. I am using Apache + mod_wsgi for my application, so I also learned how to configure Apache, I also learned how to setup custom domain name for my server and many more. I also; learned how to use lets necrypt and certbot for ssl certification and how it can be auto generated after 90 days.

Some of the Challenges I faced

  • I am very new to reactjs, so managing context was very challenging to me, there are still some components in the project where context is not managed properly.
  • The deployment of the backend API proved to be the second most challenging aspect of the project, but the Linode documentation and YouTube Vides helped me alot.
  • One of the other challenges I encountered during the project was configuring Apache and mod_wsgi. For example, when I deployed the project, I faced an issue where users were unable to authenticate with their token. It took me several hours of troubleshooting to resolve the issue.

Additional Resources/Info

Tech Stack

  • Django
  • DjangoRestFramework
  • ReactJs
  • Linode(for backend Deployment)
  • Vercel(for frontend Deployment)

Conclusion

In conclusion, the development of a dev.to clone has been a rewarding and challenging project that has allowed me to showcase my skills as a developer. Through this project, I have gained valuable experience and knowledge that I can apply to future endeavors, and I look forward to continuing to innovate and explore new possibilities in the field of software development.

Top comments (1)

Collapse
 
razzalok profile image
Alok Raj

I appreciated how detailed and comprehensive the instructions are, from setting up the database to implementing the authentication system. I also found it helpful that you included some best practices for performance and security.