/openpress

✨Fully open-source and customizable blog

Primary LanguageVueMIT LicenseMIT

OpenPress banner

OpenPress


✨Fully open-source and customizable blog written in vuejs and nodejs

📝 Table of Contents

🧐 About

This project is open-source blog written using vuejs (frontend) and nodejs (backend). The blog has its own dashboard and sqlite3 database.

🏁 Getting Started

In order to run the project we will first need to copy it onto your system. do that with the command git clone https://github.com/Bialu-Software/openpress.git (assuming that you have git installed).

Prerequisites

To do anything with the project you will need to install Node.js from this website or you can use some sort of node version manager. To check if you have installed Node.js, run this command:

node -v

Clone the repository

git clone https://github.com/Bialu-Software/openpress.git

Installing

Now you need to go to the project directory and run this command so you have all of the needed packages.

npm install

Before we can run the web application, we might want to init the database for the backend using:

npm run syncdb

After is everything installed we can run it:

npm run start

Now if you go to http://localhost:8080/ in your browser, you should see something like this:

screenshots of the web on diffrent devices

🎈 Usage

This project is not intended for commercial use but nothing is stopping you :)

🚀 Deployment

To fully deploy your blog we suggest using a linux system. And to build and minify the project use:

npm run build

✨ Customization

You can customize your blog in a variety of ways. The easiest way is to change change the css in ./src/assets/styles/main.scss. By changing the things in the file you will change the appearance of your blog.

Other ways to customize the project

  • Changing the ./backend/routes.js and adding some new routes you may want. This is the basic template for a route:
router.get('/path-to-your-route', async (req, res) => {

    if (true) {
        res.send("Route is working")
    } else {
        return res.status(404).send("Page not found");
    }

})
  • Adding your own env variable. Just edit or create the .env file and add your secret key. (this change may cause logout of all users). See more parameters in .env.example
SECRET_KEY=your-secret-key

⚙ Maintenance

If you want to update the database schema, you will afterwards need to run this command

npm run syncdb

⛏️ Built Using

Powered by Bialu Software