Skip to content

RSP-007/DBZ-Web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‰ Dragon Ball Z Explorer

A full-stack, β€œSuper Saiyan” level web application built with Node.js, Express, and EJS.

This project allows users to explore the vast universe of Dragon Ball Z β€” from iconic characters to distant planets β€” by pulling real-time data from the Dragon Ball API.

Homepage Screenshot


🌟 Features

πŸ”Ž Character Database

Browse a complete list of fighters with detailed stats, descriptions, and background information.

🌍 Planet Explorer

Discover legendary worlds from the DBZ universe β€” from Namek to Planet Vegeta.

πŸ“– Deep-Dive Details

View:

  • Transformations
  • Ki levels
  • Origin stories
  • Character stats

⚑ Dynamic Search

Instantly find your favorite warriors using the live search feature.

🎡 Immersive Experience

  • Background music integration
  • Smooth scroll-triggered animations using the Intersection Observer API

πŸ›‘οΈ Security & Performance

This project goes beyond visuals and implements production-level security practices:

🧠 Ultra Instinct Headers (Helmet.js)

  • Secures HTTP headers
  • Prevents clickjacking
  • Protects against MIME sniffing
  • Mitigates XSS attacks

πŸ›‘οΈ β€œKi Shield” Rate Limiting

  • Protects against spam and bot attacks
  • Displays a custom β€œLimit Break” error page when limits are exceeded

πŸ”’ Data Sanitization

  • Uses encodeURIComponent() for safe URL handling
  • Leverages EJS’s built-in escaping to prevent XSS

🧩 Defensive Coding

  • Validates API responses
  • Prevents server crashes from malformed or unexpected data

πŸ› οΈ Tech Stack

NodeJS Express.js CSS3 JavaScript EJS Helmet

  • Backend: Node.js, Express.js
  • Frontend: EJS (Embedded JavaScript), CSS3, Vanilla JavaScript
  • API Interactions: Axios
  • Security: Helmet, Express-Rate-Limit

πŸš€ Installation & Setup

1️⃣ Clone the Repository

git clone https://github.com/RSP-007/DBZ-Web.git

cd DBZ-Web

2️⃣ Install Dependencies

npm install

3️⃣ Run the Server

node app.js

Or, if you use Nodemon:

npm run dev

4️⃣ Open in Browser

Visit:

http://localhost:3000

πŸ“ Project Structure

DBZ-MAIN
β”‚
β”œβ”€β”€ node_modules/
β”‚
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ styles/
β”‚   β”‚   β”œβ”€β”€ 404.css
β”‚   β”‚   β”œβ”€β”€ characters.css
β”‚   β”‚   β”œβ”€β”€ error.css
β”‚   β”‚   β”œβ”€β”€ main.css
β”‚   β”‚   β”œβ”€β”€ planets.css
β”‚   β”‚   └── transformation.css
β”‚   β”‚
β”‚   β”œβ”€β”€ audio-handler.js
β”‚   β”œβ”€β”€ card-observer.js
β”‚   β”œβ”€β”€ dbz-dragon-ball-z-goku-dragon-ball-super.jpg
β”‚   β”œβ”€β”€ dragon-ball-goku-sparks-gif-preview.gif
β”‚   β”œβ”€β”€ Dragon-Ball-Z-Logo-PNG-File.png
β”‚   └── thisisbeatkitchen-beatkitchen-i-will-fight.mp3
β”‚
β”œβ”€β”€ views/
β”‚   β”œβ”€β”€ 404.ejs
β”‚   β”œβ”€β”€ character-details.ejs
β”‚   β”œβ”€β”€ characters.ejs
β”‚   β”œβ”€β”€ error-limiter.ejs
β”‚   β”œβ”€β”€ index.ejs
β”‚   └── planets.ejs
β”‚
β”œβ”€β”€ .gitignore
β”œβ”€β”€ app.js
β”œβ”€β”€ LICENSE
β”œβ”€β”€ package-lock.json
β”œβ”€β”€ package.json
└── README.md

πŸ“œ License

This project is licensed under the MIT License.
See the LICENSE file for more details.


🀝 Credits

  • Data provided by the Dragon Ball API
  • Created by RSP-007 as part of a Web Development Portfolio project

About

Secure DBZ Explorer built with Node.js/Express & EJS. Features real-time API data, Helmet.js security, and custom 'Limit Break' rate limiting.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors