Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/0xabdulkhaliq/battleship

Command your fleet and conquer the seas in our Battleship showdown!
https://github.com/0xabdulkhaliq/battleship

animation battleship css es6-modules html jest npm tdd webpack

Last synced: 12 days ago
JSON representation

Command your fleet and conquer the seas in our Battleship showdown!

Awesome Lists containing this project

README

        




Battleship


**❝** Command your fleet and conquer the seas in our Battleship showdown! **❞**




❯  
View Demo
 · 
Report Bug
 · 
Request Feature
  ❮




Mobile Preview


## Project Overview
- Battleship project was crafted with the main goal of exploring **Test-Driven Development (TDD)** using **Jest**.
- Built during partial completion of Odin Project's Full-Stack JavaScript Path.
- Each essential modules like Player, Gameboard, and Ship were meticulously tested before diving into the user interface (UI) development.
- This approach ensures a robust foundation, allowing for a smooth and reliable gaming experience.
- I have additional features to incorporate; however, due to time constraints, I will address them in the future.


## Learn to Play Battleship
- If you're already familiar with the rules of Battleship, you can skip this section.
- However, if you're new to the game or need a quick refresher, you can read the [Game's Manual](https://en.wikipedia.org/wiki/Battleship_(game)) on Wikipedia.
- For a visual guide, check out this [video tutorial](https://youtu.be/RY4nAyRgkLo) on Youtube.


## Installation

> [!NOTE]
> If you prefer not to install it locally, you can also access the [live demo](https://battleship-0xabdulkhalid.vercel.app/) version

To set up the Battleship Application locally, follow these steps:

1. Clone the GitHub repository to your local machine:

```bash
git clone https://github.com/0xabdulkhalid/battleship.git
```

2. Navigate to the project's directory:

```bash
cd battleship
```

3. Install the project's dependencies using npm:

```bash
npm install
```

4. Build the project to bundle JavaScript, minify HTML and CSS, and move images:

```bash
npm run build
```

5. The build files can be found on `dist` (distribution) directory.


## Pagespeed Insights Score

- ||
| :-----: |
| Overall Score 99.4%, Average of Mobile and Desktop
[ Mobile devices score is only shown below ] |
| |
| Scoreboard |
| |
| Check out [**Pagespeed Insights**](https://pagespeed.web.dev/analysis/https-battleship-0xabdulkhalid-vercel-app/88ptn9rxjc?form_factor=mobile) to get live score |
||


## Built With

![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white)   ![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge&logo=css3&logoColor=white)   ![JavaScript](https://img.shields.io/badge/ES6%20Modules%20-%23F7DF1E.svg?style=for-the-badge&logo=javascript&logoColor=black)   ![Webpack](https://img.shields.io/badge/webpack-%238DD6F9.svg?style=for-the-badge&logo=webpack&logoColor=black)   ![html-minifier](https://img.shields.io/badge/html%20minifier-A90533?style=for-the-badge&logo=html5&logoColor=white)   ![CSS3](https://img.shields.io/badge/css_minifier-2C2D72.svg?style=for-the-badge&logo=css3&logoColor=white)


## Tools Used



![NPM](https://img.shields.io/badge/npm-CB3837?style=for-the-badge&logo=npm&logoColor=white)   ![Google](https://img.shields.io/badge/google-DA4437?style=for-the-badge&logo=google&logoColor=white)   ![Prettier](https://img.shields.io/badge/prettier-1A2C34?style=for-the-badge&logo=prettier&logoColor=F7BA3E)   ![Eslint](https://img.shields.io/badge/eslint-3A33D1?style=for-the-badge&logo=eslint&logoColor=white)   ![Visual Studio Code](https://img.shields.io/badge/VS%20Code-0078d7.svg?style=for-the-badge&logo=visual-studio-code&logoColor=white)

  ![Git](https://img.shields.io/badge/Git-F05032?style=for-the-badge&logo=git&logoColor=white)   ![Figma](https://img.shields.io/badge/Figma-F24E1E?style=for-the-badge&logo=figma&logoColor=white)   ![Jest](https://img.shields.io/badge/Jest-C21325?style=for-the-badge&logo=jest&logoColor=white)   ![Babel](https://img.shields.io/badge/Babel-F9DC3E?style=for-the-badge&logo=babel&logoColor=black)


## Let's Connect 👋


Linkedin Profile
  


mail/
  


Github Profile