Personal blog written from scratch using Node.js, Bootstrap, and MySQL. https://jrtechs.net
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
jrtechs 1d648b3048 Worked on steam friends graph blog post. 6 years ago
.idea Added a sitemap generator 6 years ago
admin Fixed admin page to work with boostrap 6 years ago
css Added documentation and fixed the nav bar. 6 years ago
downloads Updated documentation 6 years ago
entries Worked on steam friends graph blog post. 6 years ago
img Started working on steam graph blog post. 6 years ago
includes Added documentation and fixed the nav bar. 6 years ago
posts Started working on steam graph blog post. 6 years ago
sidebar Updated the color scheme of the sidebar and buttons 6 years ago
utils Minor tweaks to sql and added docs to generate sitemap.js 6 years ago
LICENSE Initial commit 7 years ago
README.md Started working on steam graph blog post. 6 years ago
blogSql.svg Created export of diagram file 6 years ago
generateSitemap Started working on site map generator 6 years ago
package.json Added a sitemap generator 6 years ago
robots.txt added meta stuff for google 6 years ago
run Created run script 6 years ago
server.js Started to refactor to change css library from w3 to bootstrap 6 years ago
sitemap.txt Added a sitemap generator 6 years ago

README.md

NodeJSBlog

This is a project I did to recreate my word press blog using plane node js. If I were to do this again, I would use PHP. NodeJS is great, however, it was a pain to deal with all the asynchronous calls when trying to create a web page in a linear fashion.

If you want to run this project, it requires Mysql, npm, and node to be installed. For deployment I used a Nginx proxy.

Color scheme

Adobe Color Wheel

Blue:

  • Primary: #3B536B
  • Secondary: #00BEB2

Purple:

  • Primary: #513E7D
  • Secondary: #D2C0FF

MYSQL Information

create database jrtechs_blog;

use jrtechs_blog;

create table users(
user_id mediumint unsigned not null AUTO_INCREMENT,
user_name varchar(60) not null,
password char(64) not null,
salt char(64) not null,
primary key(user_id)
);

create table categories(
category_id mediumint unsigned not null AUTO_INCREMENT,
name varchar(60) not null,
url varchar(60) not null,
primary key(category_id)
);

create table posts(
post_id mediumint unsigned not null AUTO_INCREMENT,
category_id mediumint unsigned not null,
picture_url varchar(100) not null,
published datetime not null,
name varchar(100) not null,
url varchar(100) not null,
primary key(post_id)
);

// not used yet

create table downloads(
download_id mediumint unsigned not null AUTO_INCREMENT,
url varchar(20) not null,
file varchar(20) not null,
primary key(download_id)
);

create table popular_posts(
popular_post_id mediumint unsigned not null AUTO_INCREMENT,
post_id mediumint unsigned not null,
primary key(popular_post_id)
);

grant all on jrtechs_blog.* to blog_user@localhost identified by "password";

Node Dependencies

npm install express
npm install express-session
npm install mysql
npm install sanitizer
npm install promise
npm install highlight
npm install crypto
npm install express-force-ssl
npm install remarkable