Skip to content

WiiLink24/MiiContestChannelWeb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

The frontend and backend for WiiLink's Mii Contest Viewer website.

Table of contents

Introduction

This website serves as a web frontend and backend for WiiLink's Mii Contesnt Channel.

You can access and view plaza Miis, ordered by newest, most popular and by searching. You can also consult Artisans and their associated Miis, as well as Contests and their entries.

The website also includes a free and public API to use.

For the frontend, Vue 3 with TypeScript and Tailwind CSS are used. For the backend, Express is serving the website and the JSON responses.

Self hosting

You'll need the Mii Contest Channel Server running, including the PostgreSQL server.

Next, clone this repository, fill out the .env for both the frontend and backend, and open a terminal in the folder:

npm install
npm run start

Both the frontend and backend should start. You can also start the frontend and backend individually by typing

npm run start:frontend
npm run start:backend

To build and run the website the website, simply type in the frontend folder:

npm run build

A dist folder should appear. Next, just move it to backend/public and start the backend.

API

The Mii Contest Channel API is public and free to use.

However, please note that a rate limit has been set on the server to minimize strain on the server. Meaning that you can make 100 requests per 15-minute window. Exceeding this limit will result in a 429 HTTP status code, and you'll have to wait for the next window.

In total, 11 routes are available to use.

Some routes also includes pagination. To change pages, use ?page= on the routes with the "total_pages" field in the JSON response.

For POST requests, the body needs to be a JSON.

Plaza

Fetch the Top 50 (GET)

https://miicontest.wiilink.ca/api/plaza/top

Fetch the latest Miis (GET)

https://miicontest.wiilink.ca/api/plaza/popular

Fetch all Miis (GET)

https://miicontest.wiilink.ca/api/plaza/all

Fetch a specific Mii (POST)

https://miicontest.wiilink.ca/api/plaza/mii

Use the channel's entry code to fetch.

{
    "entry_code": "5403-6703-1484"
}

Search for Miis (POST)

https://miicontest.wiilink.ca/api/plaza/search

Use either the initals, nickname or entry ID to search.

{
    "search": "Matt" 
}

Artisans

Fetch all Artisans (GET)

https://miicontest.wiilink.ca/api/artisans

Fetch a specific Artisan (POST)

https://miicontest.wiilink.ca/api/artisans/artisan

Use the Artisan ID for this.

{
    "artisan_id": 100000005 
}

Search for Artisans (POST)

https://miicontest.wiilink.ca/api/artisans/search

Use either the nickname or Wii Number to search.

{
    "search": 2038467325237853 
}

Contests

Fetch all contests (GET)

https://miicontest.wiilink.ca/api/contests

Fetch a specific contest (POST)

https://miicontest.wiilink.ca/api/contests/contest

Use the Contest ID for this.

{
    "contest_id": 11 
}

Misc

Check if a Wii Number is valid (POST)

https://miicontest.wiilink.ca/api/testnumber

Send the number formatted like the following

{
    "number": "0000-0000-0000-0000"
}

License

This project is licenced under the MIT License

Also Check out

ReadMe Card ReadMe Card ReadMe Card