Skip to content

A platform for learning about sign language and contributing to the community.

License

Notifications You must be signed in to change notification settings

Xer0Bytes/Innuo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Innuo

A platform for learning about sign language and contributing to the community.
Innuo Website

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments

About The Project

(This project was created for the academic course SWE4404 - Software Project Lab II).

image

Innuo, a user-friendly website, aims to revolutionize sign language learning. Its name, derived from Latin, means "to sign." Built on the robust MERN stack (MongoDB, Express.js, React, and Node.js), Innuo ensures efficient web development, simplifying the recruitment of experienced developers due to React and Node.js's popularity.

The platform prioritizes user-friendly experiences and security, implementing checks during sign-up, sign-in, and password reset processes. Each user enjoys a personalized profile to enhance their learning journey.

Innuo adopts a gamified approach to learning, with users progressing through lessons and earning achievements. Animated GIFs aid comprehension, making sign language learning engaging and accessible. Assessment is facilitated through user-friendly multiple-choice questions suitable for diverse age groups.

The platform fosters motivation and competition with a ranking system, allowing users to track their progress and compete with others. Additionally, users can contribute their knowledge to create a diverse learning environment.

Originally focused on sign language, Innuo boasts a flexible design adaptable to specific educational institutions and a wide array of subjects.

(back to top)

Built With

  • React
  • Express.js
  • Nodejs
  • MongoDB
  • HTML
  • CSS3
  • TailwindCSS
  • Javascript

(back to top)

Getting Started

Please follow the steps below to run the project locally:

Prerequisites

You will require a .env file before you can start running the project.

  • Create a file named .env in the server/ folder.
  • Populate the file with the following environment variables according to your environment:
    MONGO =
    JWT_KEY =
    REACT_APP_CLOUD_NAME =
    
    HOST =
    EMAIL_PORT =
    SERVICE =
    SECURE =
    USER =
    PASS =
    TOKEN =
    SALT =
  • The HOST, EMAIL_PORT, SERVICE, SECURE, USER, PASS variables are created using Google API for SMTP email verification.
  • The MONGO variable is the mongoDB link to the database used to store all the website information.
  • SALT can be set according to user preferance.

Installation

  1. Clone the repo
    git clone https://github.com/Xer0Bytes/Innuo.git
  2. Install NPM packages for server
    cd server
    yarn install
  3. Start the server
    yarn dev
  4. Install NPM packages for client
    cd client
    yarn install
  5. Start the client
    yarn dev
  6. Go to the following link to use the website locally:
    http://localhost:5173/

You can also use the deployed website here.

(back to top)

Usage

Innuo has the following functionalities:

1. Users can create accounts

  • There are three types of accounts (learner, contributor and admin)
  • Admin accounts are strictly specified in the database (You can not create one!)

2. Users can participate in MCQ styled evaluation for learning

  • Different sign languages around the world can be learnt if the lessons are added.
  • Users learn using GIFs rather than illustrations or images since SL contains gestures.
  • The quizzes are timed to induce a sense of competitiveness.
  • Users can earn XP points based on their performance.
  • Instant feedback is given to the user upon answering.
  • Once a user completes a quiz/module, they can not earn more XP points for that module however they can still replay the quiz.

3. Users can unlock achievements

  • Achievements are unlocked by receiving XP points.
  • More XP points = New Achievements!
  • Beware! It is different for different difficulty levels (set in the profile section).

4. Users can contribute to the platform as a Contributor

  • Add new topics, modules or questions to existing modules as a Contributor.
  • Admins will sieve through the contributions and add the appropriate ones.

5. Admins can edit, reject or accept incoming contributions

  • They have the power to govern the content of the website!

6. Users also have the basic account setting such as

  • Delete account
  • Reset password
  • Edit profile

(back to top)

Contributing

Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

This project is licensed under the MIT License.

Contact:

Acknowledgments

(back to top)

About

A platform for learning about sign language and contributing to the community.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •