Redis was a database, I have heard several times about from various resources. This hackathon conducted by the team allowed me to study this awesome technology and apply it in a real-world scenario.
What it does
My app is basically, as the name suggests is a snake game. The advantage of using a database like Redis over other databases like Mongo, SQL, lies in the fact that for the data required to be fetched for these types of games, in no way require us to waste time in computing querying through a database. All that is needed is a given set of information that can be found and delivered way faster using Redis. Whenever an event occurs in the game, for eg. "Game-over" event, then only the database.
How I built it
My frontend UI is designed using React-Native. My backend is designed using Redis + Node and deployed over Google Cloud. For the game design, I used "react-native-game-engine" and utilized its event "dispatched event" concept to design and event-driven app using Redis.
Challenges I ran into
- This was my first time with Redis technology. The first thing was studying the purpose, advantages, disadvantages, of this new technology ( for me ), and then think of a real-life scenario to apply it.
- Finding out ways to use the database. Going through the documentation of Redis (CLI) and Redis-node driver.
Accomplishments that I'm proud of
- I was finally able to create my own Redis based application.
- I learned about this new technology and intend to apply this on future projects too.
- The knowledge I gained while researching about various topics regarding Redis,
What I learned
- How to run and work with redis-cli.
- All types of data structures supported by Redis.
- Advantages of using Redis over other databases, in several scenarios.
- I also got myself familiarized with the react-native game engine.
What's next for Snake Feed
- I intend to add more features to the game in future releases. These will include two player gaming.
- Add more of these events driven processes by adding more features to the game, like tools, skills etc.
- Add and migrate the working of the Redis database by redesigning the currently existing structure with RedisJSON module.