Hey, thanks for stopping by. This is an open-source, digital representation of the Quarto board game written in the Elm programming language.
This project was mainly created to provide an example of a fully functional, professional, accessible web app created entirely in Elm. It is also a space where people interested with working with Elm and/or are interested in open-source have a safe environment to practise with the help and guidance of the project maintainers. We happily accept anyone and everyone who wants to contribute, provided they abide by the code of content (link in the Table of Contents below).
Check out the live Demo!
The plan is to create both a single player and multiplayer representation of the game. The front elm will be primarily designed using the Elm programming language. All the code will be freely available for use and reuse where possible.
This will likely be a long running project, with many software themes explored. Some of the concepts we hope to cover are:
npm start
A more in-depth guide can be found in the CONTRIBUTING
Coming Soon!
The incentive to start this project was out of a desire to learn more about good front-end desire and accessiblity, but also as part of the 2020 [Hacktoberfest]() initiative. This is an open source project that accepts anyone and everyone who is willing to help out. If you are unsure how to do your first contributions, please check out the contributing file that lays out exactly how to get involved in open source.
This is an inclusive space for education, learning and healthy communication. We ask that before you engage with the repository, please check out the Code of Conduct. This repo will serve as a learning experience not only in functional programming and UI design, but also in good community interactions. As much as possible, all contributors should feel safe, respected, and appreciated for their efforts.
CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=114552
From Wikipedia, the free encyclopedia -
Quarto is a board game for two players invented by Swiss mathematician Blaise Müller. It is published and copyrighted by Gigamic.
The game is played on a 4×4 board. There are 16 unique pieces to play with, each of which is either:
tall or short; red or blue (or a different pair of colors, e.g. light- or dark-stained wood); square or circular; and hollow-top or solid-top. Players take turns choosing a piece which the other player must then place on the board. A player wins by placing a piece on the board which forms a horizontal, vertical, or diagonal row of four pieces, all of which have a common attribute (all short, all circular, etc.).
You can think of it as tic tac toe for adults. It's honestly a brilliant game that strikes just the right balance of strategy but also fun and ease of pickup.
Affiliations
This app has no affiliation with the official Quarto game, and will never ever become any sort've profit-seeking venture based on the Quarto IP. This is strictly for educational and entertainment purposes. If you wish to purchase the official game (we highly recommend it), you can do so here at the official Gigamic website.
This project was part of the 2020 Hacktoberfest initiative, designed to get more developers, especially newbies, involved in open source projects and remote contributions.
A few key points on what this means:
Hacktoberfest
label, meaning that we are making them available to be tackled during the month of October onwardsgood first issue
has been included on some issues. Those issues will be assigned exclusively for new developers/people with limited github/git/OSS experienceThis repository seeks to address the lack of beginner resources on project management and tooling in the programming community. There are many language tutorials and articles highlighting coding styles and techniques, but a dearth of full fledged applications that are parsable for new and junior developers, and fewer still that are geared toward learning how to build end to end applications. Every part of the development of this project will be kept public and avaialable and everyone and anyone are encouraged to be a part of its development. For the better part of a year ideally, this will exist as a living example of a elm based project, and follow as closely as possible modern, professional design and deployment techniques for web applications.
We like Elm. A lot. We're kind of obsessed.
But really, we genuinely like functional programming, and we love Elm, which we feel to be an accessible way to learn and develop robust software with functional programming. The maintainers are dedicated to making Elm accessible for anyone who wants to learn (a value echoed by the greater elm programming community at large) and we are will to pair with anyone who wishes to use this codebase as an introduction to use the language on a real project.
We really want to open up user input as to the direction of certain aspects of project design and functionality, but some parts of the scope are unchanging. At this point, we can say with a fair amount of certainty:
We feel like this is the bare minimum that allows the maintainers to realize the project goals and also provides some stability for the people who wish to contribute. However, this still leaves a lot of things we are flexible on (and actively encourage contributions in)
If any of that sounds interesting, don't hesistate to take a look at one of our issues and dive in.
For more details on Project Goals, please check out the Quarto Github Project where tasks, thoughts, bugs, and features are tracked.
For more long form, in depth content, check out the project wiki where you can find blog style posts and articles about technology and project management.
The main way of submitting questions, comments, concerns, or kudos about this project is through the submission of issues. Alternatively, you can reach the author at @tkshillinz on Twitter or tkshillinz@icloud.com
This library was authored by Kirk Shillingford, who is a big nerd.
Our other core contributor is Dominic Duffin.
A huge thank you to the Virtual Coffee community who have encouraged, supported, and contributed to this project.
This repository uses the MIT license