Chess was fun, but kinda hard to play with friends since they ranged from just learning the pieces, to having studied the game before. After toying around with the idea on a board, we found out with some slight tweaks to the rules, trying to lose made the game have a whole new strategy. Using this as our common interest, we decided to try to crank this out for our first hackathon/big project!

What it does

The main goal of ssehC (chess backwards) is to lose by 1 of 3 ways.

  1. Get checkmate
  2. Stalemate on your turn (3 fold repetition, no valid moves, 50 moves no capture etc.)
  3. Be down 15 points

The project has an fully fledged API that can register multiple games at a time, handle moves, update game states, and more all from simple http requests.

The gamestates for all games are hosted on firebase, where a frontend can subscribe to the game id and pull all necessary information to render.

The frontend was not able to be finished in time since we had to learn that from scratch, so the CLI interface lets you play locally on your computer. It deals with all input sanitization, invalid moves, everything you could need (except clicking or images)

How we built it

This was done with python for the backend, with flask to support the API. The frontend was designed with HTML/CSS/Vue.js

The database we used was firebase, and we used google cloud computing for the API hosting

Other than python, we learned and experienced everything else for the first time in this project

Challenges we ran into

Hoo boy. We were originally a beginner team of 4 people, but 2 did not participate leaving us to our ambitious project and not nearly enough skill or time. We had to deal with changing frontend frameworks, using different API models, and of course learning all these new packages/frameworks/systems for the first time.

For the frontend, VUE was the bane of David's existence.

For the backend, SSL certificates and game logic was my pain.

Accomplishments that we're proud of

Honestly, everything. The nights stayed up, the lines of code written, how much we have learned. Being able to crank out a big project for the first time, and that too in a hackathon was amazing. At least for me, I'm incredibly thankful I got to see this side of my friend and get to know him better. I'm thankful I got to share this experience with him.

What we learned

Flask, Vue, HTML, CSS, api's and hosting, google cloud services, firebase, project management tools, SSL certificates, CORS and how much pain it causes me.

What's next for ssehC

Being able to build a proper frontend so friends can try out the fruits of our labor. Being able to put it on a website and use the API so that multiple people can use it at the same time.

(For the github link, the repo was moved recently, we have been nonstop working on it since the start aside from sleeping and eating)

Built With

Share this project: