Code Monkey home page Code Monkey logo

glass's Introduction

Hey, I'm Justin Hammond 👋

Senior Software Engineer @EasyPost, IT Pro, Tech Enthusiast

I love all things tech. I've been programming for 18+ years, tinkering with electronics for 15+ years, and founding or building tech companies for 10+ years. I'm an open source fanatic, Apple fanboy, and love to explore new tech. I spend my time coding open source projects, tinkering with electronics and new tech products, and consulting teams on how to get things done.

Noteworthy Projects

The following are items that may not be represented on my GitHub profile but are noteworthy in the software space:

GitHub Stats

Metrics

Latest Blog Posts

glass's People

Contributors

dependabot[bot] avatar justintime50 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

glass's Issues

Add Theme Customization

Allow users to specify a CSS stylesheet to customize the theme of their Glass instance. We can provide a template that can be downloaded. Tweak the values and reupload the theme to your blog.

Author Bio Support

Add an author bio feature which displays on each post and can be updated on the users profile.

Feature: Add an API

Adding an API would allow for cool things like the ability to post whenever a new YouTube video gets released and the post would include the video description and link to the video etc. This is best handled via an API.

The API needs to be incredibly simple and straightforward to use:

  1. Create a post
  2. Retrieve a post
  3. Retrieve a list of posts

Clicking `Back to Posts` Doesn't Respect Pagination

When clicking the Back to Posts button on a single post from say page 2 or 3, it'll take you back to page 1, the index, instead of respecting the pagination and page it was on. We should add a new controller function that just "goes back" a view and use that for this button and others that we need to respect pagination with.

Add Dynamic Keywords to Each Post

Each post can support keywords, we need to dynamically call them on that post loading. Use the meta tag and a variable to inject them.

Automatically Slugify Post Title

The user may add a bad slug currently. Add in a way for the title to be slugified after leaving the title input field. The user can still change this later but will allow for an easier post creation workflow.

Add reCAPTCHA to Signup Flow

I'm getting a ton of spam user signups for illegitimate users who then don't actually leave comments etc. This would be fixed by adding reCAPTCHA to user signups.

  • Add recaptcha
  • Ensure that it's disabled in dev mode

Admin Controls

Allow admins to:

  • change the blog name from the dashboard
  • delete users
  • delete comments
  • allow or disallow comments spanning the entire blog
  • create blog categories

Replace justintime50/slugify With New Version

Currently this project uses the old justintime50/slugify package which is published weird and is no longer supported via Composer. Instead we should be adding it as a Node module and importing it that way.

Inconsistent Rounded Corners on Mobile (iPad) Pictures

When viewing the site in horizontal mode on a screen such as an iPad 11”, the image will produce inconsistent rounded corners, I’ve yet to determine what makes some rounded and others not. This doesn’t appear to be a problem when viewing the site in vertical orientation. All photos should have rounded corners. Here’s an example of the inconsistency:

C5065BE0-BA4C-4348-A55D-9F5CD46A6E3C

Allow Saving Drafts

Currently you cannot save a draft to come back to later. Add in the ability to have posts published, draft, or inactive.

NPM Security Audit

There are a bunch of NPM packages that need a bump due to security vulnerabilities.

npm audit fix should do the trick.

Themes or Dark Mode

A long-time want that I had was for the ability of the user to easily theme Laraview. If I don't go that route, make a dark mode that users can switch to (themed).

Add Bulk Actions

Currently you have to update posts one at a time. It'd be great to add bulk actions such as image removal or category updates etc.

Resolve the 2 Composer Files

There are two composer files, one in the project root directory and one in Laravel. I'm assuming we only need one of them?

Save image paths/IDs to the database, add missing tests

We should really be storing image paths/ids to the database and looking them up that way. The current image implementation is flakey at best and doesn't work in dev (only prod). Let's fix all that, clean it up, and add missing tests.

Fix various TODO items

There are a bunch of TODO items in this project as it was scaffolded quickly. Take a look, log them here, and work on them one by one.

Category Updates

There are some missing features for categories:

  • Ability to update the name of a category
  • Ability to filter posts by category
  • Click the link of a category on a post and be taken to all posts of that category

Admin Registration

Currently, the only admin user is whatever user has user->id = 1. All other users will become normal users, able to comment but not create posts etc. Need to create a way to register more admins and differentiate them with normal users.

Paginate Posts After 10 Records

As the blog grows with the number of posts, it will be important to paginate the posts into pages of maybe 10 records at a time.

Overhaul Image Uploads

Images could use some love:

  • Fix local image saving
  • Images should be loaded to S3 or some other compatible service instead of served locally (local could be a backup method)
  • Image viewer should be organized somehow instead of a page with all the pics dumped on it
  • When creating/editing a post, you should be able to select the image you want to use and/or update an image from that page without losing all the edits you've made to your post

Add Export Feature

There's no way to get data out of the project, use the PHP Excel Laravel project to do so.

Image Filenames in Gallery Should Truncate

If an image is uploaded with an absurdly long filename, we should make the text smaller or truncate the name:

Screenshot 2024-06-13 at 1 52 00 PM

If not, it'll overtake content that comes after it and spill over its container.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.