Nuke Blog | A minimal lifestyle blog website

Mateen Gbadamosi

Visual Designer
Frontend Engineer
Web Developer
Node.js
React
Supabase

Project Overview

Nuke Blog is a simple lifestyle blog website created using ReactJS as the frontend framework and Supabase as the backend service. This project involves developing an admin panel for managing users and implementing CRUD operations for posts and categories.

Problem Statement

Nuke blog is a project inspired by a friend who uses the default WordPress template to write her blog. I wasn’t satisfied with the website’s design and layout, so I gave the offer to help create a better blogging website, and also serve as a medium to up-skill.

Roles and Responsibilities

Frontend Development: The entire frontend was implemented using React, making it fully responsive, intuitive, and user-friendly.
Backend integration: The blog is powered by Supabase as the backend service, setting up a Node.js Express server to handle sensitive admin-side operations securely.

Challenges/Constraint

Handling the image upload was the most challenging part, though Supabase has its file storage in place, I couldn't figure out why I'm unable to return the public.id, I kept getting undefined in the console. Instead of using a different Baas, I opted for an alternative approach using Cloudinary to handle image storage, then returning the public URL upon upload which can then be stored as a URL string in the database table, and It worked seamlessly.

Development

The backend uses Node.js and Express to create secure API routes for managing users and performing server-side actions like user creation, role assignment, and deletion of users. While the website entails the basic features of a blog, Some of the key features of the website include:
A WYSIWYG text editor in which text can be formatted as desired. It supports inline image upload as well as link embedding
2. Social media sharing feature where you'll be redirected to the social media you clicked on with the link still intact.
3. User Management: Admins can create new users by assigning them roles such as "admin" or "author." The user creation process avoids breaking active sessions by using Supabase's auth.admin.createUser() method instead of the regular sign-up method.
4. Admin Panel Security: The panel uses a custom middleware function (protectedRoute) that prevents unauthorized access and redirects users without the correct permissions.
Partner With Mateen
View Services

More Projects by Mateen