Skip to content

Tech Blog - This project is a CMS-style blog website, it can be used to create blog posts and comment on other posts. My motivation for creating this project was to allow users to share their ideas somewhere since writing about tech can be just as important as making it.

License

Notifications You must be signed in to change notification settings

ByteSizeError/Tech-Blog

Repository files navigation

Tech-Blog

Description

This project is a CMS-style blog website, it can be used to create blog posts and comment on other posts. My motivation for creating this project was to allow users to share their ideas somewhere since writing about tech can be just as important as making it. This project also help me sharpen my skills in using Handlebars.js, Express-Session, and Sequelize. Handlebars is a templating language, Express-Session is for authentication and Sequelize for the Object-relational mapping. This app follows the MVC paradigm in its architectural structure.

Link to the Project

Table of Contents

Installation

  • To clone the repository
    • Make sure you have right access to pull in the repository either by applying 'ssh' keys or by providing a username and password'
    • Make sure your path is proper
    • Copy the git command to where you want to clone the repository
    git clone [email protected]:ByteSizeError/Tech-Blog.git
    
    • You will see a Tech-Blog folder.
  • An alternate document to clone a repo can also be found at github

Project Demo

Link to Website

Sign Up Page

sign up

  • Users can create a new account on this page

Login

login

  • If user have existing account they can sign in

Homepage

homepage

  • Shows posts made by everyone

Dashboard

dashboard

  • Shows posts made by the user
  • Click New Post button to create a post

Create Post

create post

  • Title for the post title
  • Content for the post content
  • Click Create button to post
  • Click Cancel button to go back

dashboard after post

  • Shows the new post by the user
  • Click Edit Post button to edit the existing post

Edit Post

edit post

  • Here the user can edit all fields of the post
  • Click Update button to update the post
  • Click Delete button to delete the post
  • Click Cancel button to go back

Create Comment

create comment

  • The comment box is for user to input their comment
  • The Submit button to send their comment

comments page

  • The Update button can be used to update the existing comment
  • The Delete button to delete the comment

Delete Comment

delete comment

  • The comment is now deleted

Usage

  • Users can create new posts

  • Users can edit their old posts

  • Users can delete their old posts

  • Users can comment on other posts

  • Users can edit their old comments

  • Users can delete their old comments

License

License: MIT

https://www.mit.edu/~amini/LICENSE.md


      Copyright (c) 2021 Jimmy Zheng

      Permission is hereby granted, free of charge, to any person obtaining a copy
      of this software and associated documentation files (the "Software"), to deal
      in the Software without restriction, including without limitation the rights
      to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      copies of the Software, and to permit persons to whom the Software is
      furnished to do so, subject to the following conditions:

      The above copyright notice and this permission notice shall be included in all
      copies or substantial portions of the Software.

      THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
      FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
      AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
      OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
      SOFTWARE.

Contributing

Contributor Covenant

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Examples of behavior that contributes to a positive environment for our community include:

  • Demonstrating empathy and kindness toward other people.
  • Being respectful of differing opinions, viewpoints, and experiences.
  • Giving and gracefully accepting constructive feedback.
  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience.
  • Focusing on what is best not just for us as individuals, but for the overall community.

Examples of unacceptable behavior include:

  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others' private information, such as a physical or email address, without their explicit permission
  • Other conduct which could reasonably be considered inappropriate in a professional setting

This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.

For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

Tests

Testing can be performed in the command line after installation of the project on the machine. To test the proeject go into the command line and type in

npm i

to install all the required modules. To run and test the program refer to the project demo as a walkthrough to get started. Type in

npm start

If modules are missing type in

npm i

and follow the instructions for how to fix package issues.

After all required modules are installed should be able to run the program. It will prompt you for project information. Here is where you can test the project.

Questions

For questions you can reach me at https://github.com/ByteSizeError.

You can also reach me at [email protected] for additional questions.

About

Tech Blog - This project is a CMS-style blog website, it can be used to create blog posts and comment on other posts. My motivation for creating this project was to allow users to share their ideas somewhere since writing about tech can be just as important as making it.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published