All Projects → krehwell → P-Blog

krehwell / P-Blog

Licence: other
P stands for "personal", what else can it be?. ⚡ Own personal blog with custom CMS to implement Next.js and node back-end. And hey! it supports PWA too.

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to P-Blog

caglarturali.github.io
Personal portfolio website repository.
Stars: ✭ 260 (+766.67%)
Mutual labels:  portfolio-website, jamstack
Bolt
⚡ is a fast grunt based, data driven, static site seed project, for rapid web development of PWA's or JAMstack projects
Stars: ✭ 30 (+0%)
Mutual labels:  jamstack
crisp-react
React boilerplate written in TypeScript with a variety of Jamstack and full stack deployments. Comes with SSR and without need to learn a framework. Helps to split a monolithic React app into multiple SPAs and avoid vendor lock-in.
Stars: ✭ 147 (+390%)
Mutual labels:  jamstack
site
🏁📑 Static site generator for landing pages, docs, and more
Stars: ✭ 31 (+3.33%)
Mutual labels:  jamstack
hugo-theme-massively
Massively theme for Hugo static site generator
Stars: ✭ 113 (+276.67%)
Mutual labels:  jamstack
ezprofile
🚀 Create an automatic portfolio based on GitHub profile.
Stars: ✭ 344 (+1046.67%)
Mutual labels:  portfolio-website
functions.netlify.com
Tutorials, examples, workshops and a playground for serverless with Netlify Functions
Stars: ✭ 498 (+1560%)
Mutual labels:  jamstack
portfolio-html
🌍 Open source portfolio template built with plain Html, CSS and JavaScript for developers to create their portfolio website
Stars: ✭ 52 (+73.33%)
Mutual labels:  portfolio-website
navigator-hugo
Navigator Business theme powered by Hugo. It also could be used for a personal portfolio.
Stars: ✭ 133 (+343.33%)
Mutual labels:  jamstack
portfolio-template
Portfolio template for any developer or designer. Made with love towards everyone :)
Stars: ✭ 21 (-30%)
Mutual labels:  portfolio-website
gatsby-starter-developer-diary
An official Gatsby blog template designed for web developers. Blazing fast, it includes beautful web developer topic tags and social-media links
Stars: ✭ 76 (+153.33%)
Mutual labels:  jamstack
netlify-stripe-subscriptions
An example of managing subscriptions with the Stripe Customer Portal and Netlify Identity.
Stars: ✭ 96 (+220%)
Mutual labels:  jamstack
champ96k.github.io
portfolio website using Flutter
Stars: ✭ 71 (+136.67%)
Mutual labels:  portfolio-website
Portfolio-pessoal
Meu site pessoal com portfólio - Em desenvolvimento
Stars: ✭ 38 (+26.67%)
Mutual labels:  portfolio-website
eleventy-plugin-blog-tools
A collection of shortcodes, filters and tags that make blogging on 11ty more fun
Stars: ✭ 41 (+36.67%)
Mutual labels:  jamstack
agilitycms-eleventy-starter-2020
A sample Eleventy starter that uses Agility CMS and aims to be a foundation for building fully static sites using 11ty and Agility CMS.
Stars: ✭ 18 (-40%)
Mutual labels:  jamstack
AVS1508.github.io
Personal Résumé Website developed using ReactJS and Bootstrap and hosted on Github Pages. Displays my web presence, story, work experience, education, projects, achievements, and contact information.
Stars: ✭ 24 (-20%)
Mutual labels:  portfolio-website
imfunniee.github.io
👨‍💻 personal portfolio website and projects
Stars: ✭ 50 (+66.67%)
Mutual labels:  portfolio-website
gatsby-portfolio
danielfr.com/
Stars: ✭ 36 (+20%)
Mutual labels:  portfolio-website
woliveiras.github.io
My personal Blog
Stars: ✭ 25 (-16.67%)
Mutual labels:  jamstack

P-Blog

A Personal-Blog so that I follow the trend of those dev/s writing their opinion on a place nobody even care of.

LINK: https://krehwell.com

Project Structure

P-Blog
|- frontend
  |- website/
  |- rest-api/
|- admin
  |- website/
  |- rest-api/
  • frontend/ is the blog.
  • admin/ is the CMS.

.env Structure

every rest-api/ on front-end and admin has an environment variable (.env file) that consist of string for MongoDB config:

DB_USERNAME=usernameofmongodb
DB_PASSWORD=passwordofmongodb

Make sure to update MongoDB string URI as well in each rest-api/index.js on front-end and admin:

/// DB CONNECTION
const mongoString = `mongodb+srv://${process.env.DB_USERNAME}:${process.env.DB_PASSWORD}@coding-blog.rv1qo.mongodb.net/blog?retryWrites=true&w=majority`; // alter following your DB URI

Frontend

|- frontend
  |- website/
  |- rest-api/

frontend/website

pages/: Routes to all pages.

api/: Directory which defined all function to fetch from server e.g: getAllBlogPost.js. Later on each page which need to access db can just call this function and organized the data gotten in its particular Component. (all function inside api/ is solely for retrieving data from db)

Utils/: Consist a helper for easing the definition of variable. e.g: apiBaseUrl.js is for defining the name of url for the server site either its locally from localhost or from the website url when on production.

frontend/rest-api

index.js: This is a setup where dependecy and config goes (connect db, cors config, etc).

routes/: Directory consists files to access endpoint. (index.js and api.js)

inside routes/index.js consists the definition on the route name e.g:

const api = require("./api.js");

app.get("/posts/get-all-blog-posts", (req, res) => {
    api.getAllBlogPosts((apiResponse) => {
        res.json(apiResponse);
    });
});

and routes/api.js is where the prosessing for the backend goes like fetching db etc.

module.exports = {
    getAllBlogPosts: (callback) => {
        // fetch db...
        callback(posts);
    },
};

Admin

This is CMS for making a new, modify, or delete a blog post.

|- admin
  |- website/
  |- rest-api/

np: all pages on admin site use serverside rendering.

admin/website

The workflow the same as frontend...

admin/rest-api

The workflow the same as frontend...

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].