Inspiration

The inspiration for JapanGo came from a desire to create an engaging and interactive platform for learning Japanese hiragana and kanji characters. We wanted to combine the excitement of multiplayer competition with language learning to make the process more enjoyable and effective.

What it does

JapanGo is a multiplayer, web-based game where players compete to correctly guess hiragana and kanji characters before their opponents. It provides an immersive learning experience while fostering collaboration and cultural exchange among players.

How we built it

JapanGo was built using a modern tech stack. The frontend was developed using React, while the backend utilized FastAPI. Real-time multiplayer functionality was implemented using Websockets. For data storage, authentication, and hosting, we leveraged Firebase's Firestore, providing a secure and scalable infrastructure for JapanGo. This tech stack allowed us to create a seamless and immersive multiplayer experience.

Challenges we ran into

During the development of JapanGo, we faced challenges in several areas. Learning and implementing Websockets for real-time multiplayer functionality was a significant hurdle, requiring careful consideration of simultaneous requests, player connections, and game state synchronization. We also had to overcome the learning curve of interacting with Firestore for data storage and authentication. Despite these challenges, our team persevered, experimenting and fine-tuning to create a smooth and competitive multiplayer experience in JapanGo.

Accomplishments that we're proud of

Throughout the development of JapanGo, we achieved several notable accomplishments. Firstly, we successfully implemented support for multiple concurrent sessions, allowing players to engage in simultaneous multiplayer matches seamlessly. Additionally, our team demonstrated strong adaptability, quickly learning and integrating new technologies on the fly to overcome challenges and refine the game's features. We are proud of our collaborative teamwork, which enabled effective communication, efficient task delegation, and timely progress. We are also proud of creating a multiplayer game that successfully combines the excitement of competition with educational value. These accomplishments highlight our dedication to delivering a polished and enjoyable multiplayer experience in JapanGo.

What we learned

During the development of JapanGo, we gained valuable insights into the importance of proper code design and planning. We realized that investing time in designing a solid architecture and establishing clear communication channels greatly contributed to the efficiency and ease of development. Conversely, we witnessed how poor design choices and lack of communication led to inefficiencies and difficulties in the development process.

Furthermore, we expanded our knowledge and expertise by working with technologies such as FastAPI, Websockets, and Firestore. Through hands-on experience, we learned how to effectively leverage FastAPI to build robust backend APIs, implement Websockets for real-time communication, and interact with Firestore for data storage and authentication.

Overall, this project provided us with valuable lessons in code design, planning, communication, and working with specific technologies, enhancing our skills and enabling us to create a high-quality multiplayer experience in JapanGo.

What's next for JapanGo

In the future, our plan for JapanGo involves a total redesign aimed at making the development process more streamlined and comprehensible. We aim to enhance the codebase by implementing clearer architecture and design patterns, improving documentation, and optimizing the overall development workflow. This redesign will not only make it easier for our team to work on the project but also enable future contributors to understand and contribute more efficiently.

By undertaking this redesign, we will create a strong foundation for the future development of JapanGo. It will allow us to add new features and functionalities more seamlessly, ensure better scalability, and enhance the overall user experience. We are excited about this next phase of development and look forward to bringing a renewed and improved JapanGo experience to language learners worldwide.

Built With

Share this project:

Updates