Skip to content

If you have been looking for an e-journal for yourself and haven't had any luck, you have come to the right place. This project was created with the purpose of having your personal blogging application running, for only you to access, on your own machine, or on your local server.

License

Notifications You must be signed in to change notification settings

canaryGrapher/Open-Journal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open-Journal: Your personal journal

GitHub license GitHub release Github stars Github forks Github issues

If you have been looking for an e-journal for yourself and haven't had any luck, you have come to the right place. This project was created with the purpose of having your personal blogging application running, for only you to access, on your own machine, or on your local server.

What can you do with Open-Journal?

  • Create a new post
  • Edit an existing post
  • Remove an existing post
  • Search older posts

Homepage

The homepage consists of some useful stats on your post activity. It tells you how many posts have you made, and when was the last time you made a post. There are three links on this page -

  • Post page: View all the posts you have ever made
  • New Post page: Create a new post
  • Search page: Search the posts you have made to delete, edit or view it.

This page also displays a random quote on every refresh, powered by Quotable by Luke Peavey and weather information for your city. The background image changes with respect to the day. All images were grabbed from Unsplash.

Note:

Change the city name for weather info on line 57 of home.js.You will also need an API key for this to work. You can get a free one on home.openweathermap.org

New Post Page

Create new post using this page. Default title is the the date. You can chage it to your liking, or leave it as it is. You can aso add an image for the post. The body of the post oes not take any kind of formatting, like new line, bold, italics or strikethrough.

Duplicate titles are allowed, but you can change that by adding unique: true in the mongoose models to the title object, after required: true.

Search page

Search page allows you to search your older posts with partial texts from the title or the body, or with the date you created the post.

Posts page

All posts that you created will be displayed here.

How to setup your open-journal?

made-with-Node made-with-React

For this project to work, you must have node and npm installed on your system. To get Open-Journal working on your PC, cd into the root directory and then npm install. This will install your backend. Now cd client and then npm install again. This will install your react app. In the config folder of your root directory, create a file named default.json and add the following:

{
      "mongoURI": "YOUR_MONGODB_URI",
      "api_key": "YOUR_OPENWEATHER_API_KEYS"
}

After these steps, you will be able to run the application using npm start in the root directory of the project. Additionally, when deploying on a server, you can build the react app using npm run build in the client folder.

The backend runs on port 5000 and the react-app runs on port 3000, so open your ports accordingly. You can change these ports in server.js file of the backend and individually in each component of react in the components folder.

Additional features

You can use the Companion CLI app to create posts from your terminal/command-prompt.

Upcoming features:

  • Login system for authorized access.
  • Better Post page UI (Suggestions are welcome)

How to contribute

Please raise an issue and clearly mention it along with screenshots, if possible, and the steps to reproduce it. I shall fix it in a couple of days if I am not busy with other work. Issues can also include feature update suggestion.

You are more than welcome to contribute to the project. I am looking for active contributors and maintainers for this project.

Made with

These are the technologies used to make this project.

Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge

About

If you have been looking for an e-journal for yourself and haven't had any luck, you have come to the right place. This project was created with the purpose of having your personal blogging application running, for only you to access, on your own machine, or on your local server.

Topics

Resources

License

Stars

Watchers

Forks