mhsf-dev/README.md

67 lines
3.2 KiB
Markdown
Raw Permalink Normal View History

2024-07-26 00:46:53 -05:00
<img src="https://i.imgur.com/H7GhfNM.png" align="center">
2024-08-08 21:34:27 -05:00
<h1 align="center">MHSF</h1>
2024-05-31 16:22:34 -05:00
2024-08-08 21:34:27 -05:00
An open-source customizable server-list for Minehut built in React. Check it out at [list.mlnehut.com](https://list.mlnehut.com), and maybe give this repo a star! :)
> [!WARNING]
> If you want more of a explanation what this is, please use the built-in info popover. This README is mostly for contributing. Thanks!
2024-05-31 16:22:34 -05:00
2024-08-11 14:16:08 -05:00
## Info
2024-08-12 12:47:20 -05:00
2024-08-11 14:16:08 -05:00
![Alt](https://repobeats.axiom.co/api/embed/0ee8fb5584604adac02f04cff49f1091af45c3a8.svg "Repobeats analytics image")
2024-07-23 18:49:21 -05:00
## Tech-stack
2024-05-31 16:22:34 -05:00
2024-07-23 20:51:32 -05:00
[React](https://react.dev): Component based syntaxing for the web <br/>
2024-07-26 00:46:53 -05:00
[Next.js](https://nextjs.org): Handles API, server-based metadata, and so much more.<br/>
2024-07-23 20:51:32 -05:00
[Clerk](https://clerk.com): Authentication for MHSF (very cool library) <br/>
[TailwindCSS](https://tailwindcss.com): Styling without CSS, simplified<br/>
[shadcn/ui](https://ui.shadcn.com): Provides the awesome UI for MHSF<br/>
And many other smaller libraries are in use to make sure MHSF is feature-packed.<br/>
2024-05-31 16:22:34 -05:00
2024-07-23 18:49:21 -05:00
## Contributing
2024-08-12 12:47:20 -05:00
2024-08-08 21:34:27 -05:00
> [!NOTE]
> Do you use Java and not JavaScript/TypeScript? You can also contribute to [MHSFPV (Minehut Server List Player Validator)](https://github.com/DeveloLongScript/MHSFPV), a player validator plugin to link accounts. It's relatively small, but can use commits.
2024-05-31 16:22:34 -05:00
2024-07-23 18:49:21 -05:00
If you'd like to contribute, you must follow the guidelines below:
2024-05-31 16:22:34 -05:00
2024-07-26 00:46:53 -05:00
- Make sure to lint (`yarn lint`) every time you finish lines of code
2024-07-23 18:49:21 -05:00
- Use common sense! Don't make comments that could offend someone, or just seems like a bad ideaa
- Be respectful when making your PR. We would love to take your code, but if you argue, it doesn't help.
2024-05-31 16:22:34 -05:00
2024-07-23 18:49:21 -05:00
## Building
2024-05-31 16:22:34 -05:00
2024-07-23 18:49:21 -05:00
Clone the repo!
2024-05-31 16:22:34 -05:00
2024-07-23 18:49:21 -05:00
First, you must supply the following services with API keys:
2024-05-31 16:22:34 -05:00
2024-08-03 09:51:45 -05:00
- [Clerk](https://clerk.com): Create an app and put the respective keys in `.env.local`
2024-07-26 00:46:53 -05:00
- MongoDB: Create a database, can be anywhere, and put the location to connect in `.env.local` for the key `MONGO_DB` (this isn't required by any means, but if you want to store any short term or historical data, use this.)
2024-08-07 21:20:17 -05:00
- Inngest: Inngest is a smaller library, but runs the `cron` jobs which will make servers automaticly get added to the database.
2024-05-31 16:22:34 -05:00
2024-08-08 21:34:27 -05:00
> [!IMPORTANT]
> This project uses `yarn` as the main package manager. If `package-lock.json` is present (or any other package manager's lockfile), your pull request will be harder to sort out, please save some work by using `yarn` at the start.
2024-07-26 00:46:53 -05:00
Second, run `yarn` and `yarn build`. To start the app, run `yarn start`.
2024-05-31 16:22:34 -05:00
2024-07-23 18:49:21 -05:00
### Dev
2024-05-31 16:22:34 -05:00
2024-08-03 10:06:24 -05:00
Swap `yarn build` for `yarn dev`.
2024-08-08 21:34:27 -05:00
2024-08-12 12:47:20 -05:00
### Make your mark
If you'd like, you can add a 88x31 badge image to the end of the changelog, which can link to a website of your choice as long as the image and the website are PG13.
Add your image to `/public/imgs` and name it one up from the highest badge so for example, if the badge thats the highest is `badge2.png`, name yours `badge3.png`. Here is a code example of how to add your badge.
In `/src/version.tsx`:
```tsx
<Link href="<your website>">
<Image src="/imgs/badge3.png" alt="<your username>" width={88} height={31} />
</Link>
```
2024-08-08 21:34:27 -05:00
## Licensing
2024-08-12 12:47:20 -05:00
2024-08-08 21:34:27 -05:00
MHSF (aka the Minehut Server List) is licensed under the [MIT License](https://github.com/DeveloLongScript/MHSF/blob/main/LICENSE). You are free to fork or modify this software _on your own terms_.