Skip to content

This was my blog application was written in JSX and with hooks. Blog posts of my story, information on Software Engineering topics, and even some walkthroughs/tutorials.

Notifications You must be signed in to change notification settings

HoseaCodes/Blog

Repository files navigation

Created by: Dominique Hosea

September 2020

Welcome, to my personal blog and portfolio. Sharing information is vital and especially in the dev commnunity. The blog showcases my latest works, testomines, articles, about me section, and contact me section. It mainly focuses on my current and most recent accomplishments.

[![NPM Version 7.6.3][npm-image]][npm-url]

Homepage

Homepage

Blog Page

Article Page

Getting Started

The user is brought to the home page where they can navigate to my portfolio, my blog posts, my about me, or contact page. The home page is an introduction to who I am. The is a brief history of my experience with the option to download my resume. Additionally, I have the technologies that I am currently using, a project showcase, an embbed Twitter widget, and testimonies.

Terminal Features

The website includes an interactive terminal that you can use to navigate and learn more about me. Here's how to use it:

Opening the Terminal

  • Press Ctrl + (backtick) or Cmd + (Mac) to toggle the terminal open/closed
  • You can also close it by clicking the × button in the top right corner or pressing Escape

Available Commands

  • help - Lists all available commands
  • about - Displays information about me
  • cat - Opens a random cat picture in a new tab
  • echo - Prints the given text to the console
  • twitter - Opens my Twitter profile
  • github - Opens my GitHub profile
  • linkedin - Opens my LinkedIn profile
  • languages - Shows programming languages I know and proficiency levels
  • skills - Displays my technical skills and proficiency levels
  • projects - Lists notable projects I've worked on
  • editor - Shows details about my current code editor setup
  • spotify - Displays my currently playing or recently played song on Spotify
  • clear - Clears the terminal screen
  • cd - Change directory
  • ls - List contents of current directory
  • mkdir - Create a new directory

Try typing help first to see all available commands!

Technologies Used

This application was developed with a full MERN stack. and written in JavaScript. Styling done with Bootstrap, Material UI, SASS or SCSS and CSS.

M - MongoDB, NoSQL database
E - Express, a back-end framework
R - React, a client side framework
N - NodeJS - to run back end service

Dependencies used:

  • Morgan - HTTP request logger middleware for node.js
  • Fetch - Promise based HTTP client for the browser and node.js
  • Bcrypt - A library to hash passwords
  • Mongoose - for MongoDB validation
  • React-Bootstrap - a React library for building pre-styled components
  • Material UI - a library for building pre-styled components
  • SASS - a preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets

Features

✅ Own your content

✅ Write using Markdown On Github Issues

✅ Syntax/Code Highlighting

✅ Fully customizable

✅ Tags - Topics

✅ Links

✅ Reactions

✅ View Comments

✅ Images

✅ Minutes Read

✅ Beautiful UI Like Medium

✅ Easy deployment: Using Github Pages

✅ Instant Effects on Blog when changing github issues

✅ Beautiful blockquote

Frontend

See wiki for details.

Data

See wiki for details.

Backend

Security

Basic Auth & JWT

Security

JWT

See wiki for details.

Dev Ops

Pipelines

Job Name Use Case
Static-Scan Static application security testing (SAST) or static code analysis, analyzes source code to find security vulnerabilities that make the organization's applications susceptible to attack.
Dependency-Scan Dependency scanning generates an alert for any open-source component, direct or transitive, found to be vulnerable that the code depends upon.
Lint-Scan Lint scans source code for errors and potential issues that could lead to bugs, vulnerabilities, and other problems.
Build Build and deploying the project.

See wiki for details.

3rd Party Packages

Name Use Case
AOS Animation
Axios HTTP client
bcrypt
dompurify
framer-motion
imagemin
markdown
marked
moment
morgan
node-cache
node-sass
react-bootstrap
react-bootstrap
react-icons
react-masonry-css
react-sticky-state
react-twitter-widgets
source-map-explorer
styled-components
winston

External APIs

See wiki for details.

How To Run App

Build image locally

docker build -t hoseacodes-blog .  

Run local image in container

docker run --name hoseacodes-blog-c -p 3001:3001 -d hoseacodes-blog

Tag Image for push

docker tag ${imageID} hoseacodes/hoseacodes/hoseacodes-blog:latest

Push Docker Image

docker push hoseacodes/hoseacodes-blog:latest    

How To Deploy App

git push heroku-staging HEAD:main  

How To Restart App

heroku restart -a app_name

Unsolved Problems

  • Fix Docker Image

Future Enhancements

About

This was my blog application was written in JSX and with hooks. Blog posts of my story, information on Software Engineering topics, and even some walkthroughs/tutorials.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •