Skip to content

Benedict-CS/portal

Repository files navigation

🌐 Benedict's Service Portal

A clean, modern, and professional portal designed to centralize access to all public services, demos, and internal infrastructure tools. Built with a focus on speed, clarity, and ease of maintenance.

🚀 Features

  • Categorized Dashboard: Automatically separates public-facing projects, live demos, and internal management tools.
  • Liveness Monitoring: Integrated health-check system with real-time status indicators.
  • Data-Driven: Easily maintainable via a single services.json file.
  • Modern UI: Apple-style "Soft UI" with staggered entry animations and tactile feedback.

🔗 Live Services

Identity

Public Tools

Personal Services (Private Cloud)

🛠️ Tech Stack

  • Frontend: Vanilla HTML5, CSS3 (CSS Grid/Flexbox), Inter Font.
  • Backend: Node.js + Express.js (serving static assets).
  • DevOps: Docker, Shell Scripting, Git.

📦 Installation & Setup

Prerequisites

  • Node.js (v20+) or Docker.

Local Development

# Clone the repository
git clone https://github.com/Benedict-CS/portal.git
cd portal

# Install dependencies
npm install

# Start the dev server
npm start

The portal will be available at http://localhost:3000.

Production Deployment (Docker)

# Build the image
docker build -t benedict-portal .

# Run the container
docker run -d -p 3000:3000 --name my-portal benedict-portal

🔄 Automated Updates

Use the provided deploy.sh to update your running instance with the latest code from GitHub:

chmod +x deploy.sh
./deploy.sh

➕ How to Add a New Service

The portal is data-driven — cards are rendered at runtime from services.json. Add a new entry under the appropriate category:

{
  "name": "Service Name",
  "url": "https://service.example.com",
  "description": "Short description of the service.",
  "icon": "🚀"
}

After deploying the updated file, the new card appears with a live status indicator (the backend pings the URL via /api/health).

📜 License

MIT

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors