Git Product home page Git Product logo

csci3428_eskasoni_project's Introduction

Note

Aij? is currently being refactored to guarantee a bug-free experience to all players and administrators. We will be back soon!

CSCI3428 - Saint Mary's University: Eskasoni Project

This project is a version of a Mi’kmaw Scattergories game called Aij?, developed for the Mi’kmaw community at Eskasoni.

About Aij?

The project is based on the Scattergories game, which is a competitive game that requires players to actively recall words, strengthening the connections to those words.

Aij? is presented 100% in the Mi'kmaw language and it is aimed towards people from any age group that are trying to learn the language.

Our goal is to encourage students in the Mi'kmaw community to immerse themselves into the language and spend more time working on their vocabulary, while also having fun!

Installation

Clone this repository with git clone https://github.com/VitorJeronimo/CSCI3428_Eskasoni_Project.git or download the source code from https://github.com/VitorJeronimo/CSCI3428_Eskasoni_Project

Before proceeding, don't forget to change the hostname onclient/src/App.js and server/server.js to http://localhost:PORT, or the address to your server.

After that, go to the project's directory and run the build_app.sh script to install all required dependencies and build the application.

cd CSCI3428_Eskasoni_Project
chmod +x build_app.sh
./build_app.sh
npm start

The app will be available on localhost:PORT if you chose to run it locally, or YOUR_SERVER_ADDRESS:PORT if you are running the app on a production server.

Audio

If you would like to change the audio for each letter, all you need to do is to record each letter separately and put all audio files inside the audio/ folder. However, it is important that you use the same file names as the default audio files, otherwise the audio won't work in the game.

After changing the audio files, run ./build_app.sh script on the root folder of your server to successfully update the audio.

Technical Guide

This is a guide for any future developers or anyone trying to navigate through this app.

2 main pieces are the Client side of the app and the Server side

Server side is a single js file "server.js" at "./server/server.js" - server.js utilizes modules (players.js, rooms.js, utils.js) which helps with readability

The client side is a react app and starts at the App.js file located under "./client/src/App.js" All of the pieces of this app are stored in "components" which are individual js files located in the folder "./client/src/components/component.js" Components are called by the return function at the bottom of each component.

A map showing the hierarchy of components is below:

App.js - Login.js

   - GameScreen.js - CurrentLetter.js
                   - Chat.js
                   - Timer.js
                   - CategoryList.js - [Category.js,
                                        Category.js,
                                        ...]
   - VoteScreen.js - WordList.js - [Word.js,
                                    Word.js,
                                    ...]

csci3428_eskasoni_project's People

Contributors

vbjeronimo avatar gillyweed avatar meunierevan avatar koolung43 avatar

Watchers

 avatar

csci3428_eskasoni_project's Issues

Server issues when going back one page and then going forward

If a user logs in, goes back one page and then goes forward one page the server will crash.

Probably because they will be allowed to return to the game page without providing an username and room ID, so that info will be null in the server.

We should write something to catch that null entry, or save the user's info in the local storage or something similar.

The server crashes when the room admin disconnects

I fixed most issues with the server, but now every time a room admin disconnects the whole server crashes.

I still haven't figured out where the problem is originating from, but I'm working on it. If you have some spare time and you want to give it a try, feel free to do so.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.