- Tests your picture-analyzing skills
- Tests your observation skills toward minute details
- Needs general knowledge and knowledge on current affairs to solve the puzzle - Tests user awareness in the society
- User is given some hints which he/she needs to analyze before time is up - Tests time management skills
- User is given chunks of images which he/she needs to arrange properly to guess the word
- Puzzle has a total of 6 levels. 2 - Easy, 3 - Medium, 1 - Hard. Each level has different scores based on the difficulty.
- User can take provided hints to solve the puzzle. Unlocking each hint reduces his/her points for that level.
- Every level has a time limit and limited attempts to guess the word.
- If all given attempts are used or time is up, then it is considered a fail for that particular level
- Losing in two consecutive levels leads to a GAME OVER.
- Based on the user scores it's considered as PASS or FAIL for that attempt.
- Registration and log in using email and password
- User's dashboard to analyze his/her past attempts results ( data shown using tables and charts)
- Resume puzzle in case something unexpected happens and the browser closes
- The user is asked whether to start a new game or resume the previous one
- Puzzle instructions are shown before and during the puzzle game
- Drag and drop feature to arrange images for the puzzle
- Leadership board and puzzle results are shown at the end of the puzzle game
- Time limit and limited attempts features implemented
- Soft skills score is calculated by considering below factors
- Time taken to solve
- How many hints used
- Level points
- Admin can analyze the user's performance using the charts and provided data
- Provides platform usage data like how many users registered and how many attempted the puzzle
- Bar charts used to show avg. time spent and avg. score of all users for each level
Node.js runtime required to run below commands Click here to download
The project is divided into Frontend and Backend. You need to run individually.
Clone the repo and run commands in the root directory.
cd frontend
npm install
- To install dependenciesnpm run dev
- To start the frontend app in development modeConfigure VITE_BACKEND_URL in the .env file
cd backend
- Run the command from the root dirnpm install
- To install dependenciesnpm run start
- To start the serverconfigure PORT,MONGO_DB_URL,JWT_KEY in the .env file
Unit tests are written for some functions and APIs.
Run backend tests using the npm run test
command in the backend dir
Run frontend tests using the npm run test
command in the frontend dir
- Frontend developed using React and Typescript
- Redux used for global state management
- Frontend app deployed in Netlify
- Backend application developed using Nodejs, Javascript, and Express.js backend framework
- MongoDB database used.
- Database schemas are implemented using Mongoose (ORM tool for Mongodb)
- Deployed at Render