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.
- Create a new post
- Edit an existing post
- Remove an existing post
- Search older posts
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.
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
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 allows you to search your older posts with partial texts from the title or the body, or with the date you created the post.
All posts that you created will be displayed here.
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.
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)
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.
These are the technologies used to make this project.