Introducing easyblog - write once share to many !
Tags: atlashackathon22, javascript, mongodb, react
Published: 2022-12-08 18:15:20

## What I built
Easy blog is an open source project from where you can easily publish your articles in different blogging platform at once. You just need to add some keys of the different blogging platform like (Dev.to, Hashnode) and you are ready to publish your article. 

I have provided the test credentials and test account bellow in the blog. Enjoy publishing articles. ✅

### Category Submission:
Choose Your Own Adventure

### App Link
[easyblog](https://easyblogs.netlify.app/)

### Video Explaining of My Project

{% embed https://www.youtube.com/watch?v=5sh75GbRSRU %}


### Screenshots
- Home page

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/33u8pcvyhgh9xr5n8y1j.png)

- Dashboard

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y5swq5jzvzog3joq4ynh.png)

- Markdown (with platform selection option)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e1ru9jd6qz7h2sqtw8fk.png)

- Add credentials page 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tfke0z1px9as05gm2d4r.png)

- Community post (articles by public)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kzexz3k2dh5pd4xi9rpw.png)

- MongoDB Atlas (DB details)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7m2s09h47zfc6kb1evex.png)



### Description
The app allows you to publish the articles in different blogging platform at once by just clicking the single button. Before publishing article app ask the api keys from your side which gets saved into the database and request for dev and hashnode api along with api keys you provided earlier in order to perform create, update and delete operation which actually gets reflected to your main blogging account of DEV.to and hashnode. 

## Tech stack 👩‍💻
- React JS -> for Frontend 
- MongoDB Atlas -> for Database
- Express JS -> for Apis
- Dev api -> To post, update the article
- Hashnode api -> To post, update and delete article

## Platform Api Links 
- [Dev api](https://developers.forem.com/api/v0)
- [Hashnode Graphql api](https://api.hashnode.com)

### Link to Source Code
{% embed https://github.com/rajeshkhadka200/easy-blog %}


### Permissive License
MIT License


## Background
This project was motivated by the frustration of having to copy and paste the same markdown in numerous blogging platform. For my part, opening all of these sites, copying the markdown, pasting it, and publishing took a lot of time. This issue is what inspired me to create this specific app.


### How I built it
My experience with mongoDB is not new. Using mongoDB, I've already created a few applications. To be more specific with this application "easy blog", Mongo DB is the most required technology. Because, whenever user publish article it gets saved into mongo db and then only it gets saved to other blogging platform (dev and hashnode). But question arrives..

**Why I'm saving articles on MongoDB ?**
Well, this app not only allows you to publish article in dev and hashnode, but it also allows you to edit and delete the articles from dev and hashnode. So, In order to track the articles details, I'm storing the articles in mongo DB too. Further more, in this application MongoDb atlas is widely used for storing user JWT tokens, user details. 

### Additional resources and info

#### Currently supported Blogging platforms :
- [Dev.to](https://dev.to)

- [Hashnode](https://hashnode.com)

#### Test credentials 
- Dev's api key -> yNecF91d29yAA3F8SLKbHeDA
- Hashnode's publication id -> 637f63cd0d2fc8df7adde9d2
- Hashnode's Authorization token -> 5131be37-f7e2-4634-9b29-e9660b76bc3a

#### Test accounts Links
- [Dev account for test](https://dev.to/testraju450)
- [Hashnode account for test](https://rajeshtest.hashnode.dev)

#### MVC of the application 

- Login to the website
- Add api keys to the website 
- Write a markdown 
- Publish article (by selecting platforms)

#### Features included
- Can publish article to hashnode and dev at once.
- Can Edit the published article, which auto reflects in hashnode and dev
- Can delete the published article, which auto reflects in Hashnode.