bini-hosting

byDisy Wod

I want to build my own hosting platform

Landingregistration page
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 5

System Requirements Document

Introduction

This document outlines the system requirements for Bini Hosting, a comprehensive Web3 hosting and cloud platform. The platform aims to provide a custom-built production-ready SaaS solution that combines traditional web hosting, developer cloud infrastructure, static-site deployment, and Web3 hosting. The target audience includes customers in Nigeria and internationally, requiring a professional, fast, and modern interface.

System Overview

Bini Hosting is designed to be a full-featured hosting platform that integrates various hosting services, including shared web hosting, VPS/cloud services, domain management, SSL, business email, database hosting, and Web3 services. The platform will support a modular architecture to facilitate real backend service connections and activations.

Functional Requirements

Page 2 of 5

As a Customer

  • I want to register, login, logout, verify my email, reset my password, change my password, and enable 2FA for secure access.
  • I want to manage my hosting services through a customer dashboard with sections for websites, static sites, VPS/cloud, domains, SSL, email, databases, Web3, storage, backups, analytics, billing, support, and settings.
  • I want to purchase shared hosting, add domains, upload website files, manage FTP/SFTP, create databases, manage DNS, install SSL, create email accounts, and view storage and bandwidth usage.
  • I want to automatically provision hosting services upon successful payment, including account creation, storage allocation, and SSL issuance.
  • I want to deploy projects using Bini Deploy with features like GitHub integration, automatic deployment, deployment logs, and custom domains.
  • I want to purchase and manage VPS/cloud services with configurable plans and a dashboard for server management.
  • I want to search, register, transfer, renew, and manage domains with DNS and WHOIS/privacy features.
  • I want to manage SSL certificates with automatic issuance and renewal.
  • I want to create and manage business email accounts with features like mailbox creation, password management, and webmail integration.
  • I want to create and manage databases with support for MySQL, MariaDB, and PostgreSQL.
  • I want to use Web3 services for IPFS hosting and dApp deployment with custom domains and SSL.
  • I want to manage billing with support for multiple currencies, subscriptions, invoices, and payment statuses.
  • I want to receive notifications about payment success/failure, hosting activation, deployment status, SSL expiration, and domain expiration.
  • I want to manage account credits and view my current balance.
  • I want to view deployment history and rollback if necessary.
  • I want to specify build commands, output directories, and environment variables for deployments.
  • I want to configure and manage CPU, RAM, and other resources for VPS/cloud services.
  • I want to create folders, delete files, and create subdomains within my hosting account.
  • I want to manage customer configurations and receive notifications when backups are completed.
Page 3 of 5

As an Administrator

  • I want to manage customer accounts, orders, subscriptions, payments, invoices, hosting services, and support tickets through an admin panel.
  • I want to configure hosting plans, VPS/cloud resources, and pricing.
  • I want to monitor server health and status through an infrastructure dashboard.
  • I want to manage backups for website files, databases, and VPS snapshots.
  • I want to handle support tickets with features like ticket assignment, status changes, and customer communication.
  • I want to ensure platform security with HTTPS, secure cookies, CSRF protection, rate limiting, input validation, and RBAC.
  • I want to access audit logs for tracking system activities.
  • I want to manage domain locking and availability checking through a domain registrar.
  • I want to configure billing cycles, annual subscriptions, and apply discounts or coupons.
  • I want to manage active servers, active subscriptions, and active websites.
  • I want to manage user roles, including Admin and Super Admin.
  • I want to implement API authentication and encryption for sensitive credentials.
  • I want to apply abuse controls to prevent misuse of the platform.

User Personas

Customer

  • Individuals or businesses looking to host websites, deploy applications, and utilize cloud and Web3 services.

Administrator

  • Personnel responsible for managing the platform's operations, customer accounts, and infrastructure.

Core User Flows

Page 4 of 5

Customer Registration and Login

  1. Navigate to the registration page.
  2. Enter required information and submit.
  3. Verify email through a confirmation link.
  4. Login using credentials.
  5. Access the customer dashboard.

Hosting Service Purchase

  1. Select desired hosting plan.
  2. Complete payment process.
  3. Receive confirmation and access hosting services.

Deployment via Bini Deploy

  1. Connect GitHub repository.
  2. Configure deployment settings.
  3. Initiate deployment.
  4. Monitor deployment logs and status.

Visuals Colors and Theme

  • Professional and modern design with dark/light mode options.
  • Clean typography and responsive design for mobile and desktop.

Signature Design Concept

  • A premium modern cloud platform look with consistent Bini Hosting branding.
Page 5 of 5

Interaction Model & Motion Direction

  • Subtle animations and responsive interactions for a seamless user experience.

Non-Functional Requirements

  • The platform must build without errors, have proper loading and error states, validate forms, and handle failed operations gracefully.

Tech Stack

  • Next.js, TypeScript, Tailwind CSS for frontend.
  • PostgreSQL, Prisma ORM for database.
  • REST API, Docker, Redis, Nginx/Traefik for backend and infrastructure.
  • GitHub OAuth/API, Let's Encrypt, IPFS integration for external services.

Assumptions and Constraints

  • The platform must distinguish between demo and production modes.
  • Real infrastructure credentials must be configured for production operations.
  • Provider abstraction layers must be used for integrations.

Glossary

  • Web3: A decentralized web using blockchain technology.
  • IPFS: InterPlanetary File System, a protocol for peer-to-peer file sharing.
  • VPS: Virtual Private Server, a virtual machine for hosting services.
  • SSL: Secure Sockets Layer, a protocol for encrypting internet communications.
  • RBAC: Role-Based Access Control, a method for restricting system access.
Landing design preview
Login: Sign in
admin panel: Manage customer accounts
admin panel: Manage orders and payments
admin panel: Configure hosting plans
Infrastructure: Monitor server health
Infrastructure: Manage backups
Support: Handle support tickets
Support: Assign ticket status
Governance: Manage user roles
Governance: Review audit logs
Governance: Apply abuse controls
Landing design preview
Login: Sign in
admin panel: Manage customer accounts
admin panel: Manage orders and payments
admin panel: Configure hosting plans
Infrastructure: Monitor server health
Infrastructure: Manage backups
Support: Handle support tickets
Support: Assign ticket status
Governance: Manage user roles
Governance: Review audit logs
Governance: Apply abuse controls