Learnify is an interactive learning platform designed to make education engaging by incorporating gamification elements. Users answer questions to progress through levels, unlock clues, and solve a final mystery.
- Features
- Technologies Used
- Deployment
- Project Structure
- Installation Guide
- Usage
- Contributing and Future Improvements
- Secure user authentication with a token-based system for safe access.
- Answer multiple-choice questions to progress through levels.
- Unlock visual clues to help solve an overarching mystery.
- Immediate feedback on wrong answers or when time runs out.
- Users can retry questions or review clues before the final challenge.
- Frontend: HTML5, CSS3, JavaScript, Bootstrap (for responsive design)
- Backend Communication: Fetch API
- Testing: Jest (for unit and integration testing)
- API Deployment: The backend API is hosted using Render.
frontend/
│── __tests__/ # Testing-related files
│ ├── login.spec.js # Login page tests
│── assets/ # Assets for the project
│── images/ # Game images
│── src/ # JavaScript files
│ ├── login.js # Handles login logic
│ ├── mystery.js # Mystery-solving logic
│ ├── questions.js # Manages question interactions
│ ├── register.js # Handles user registration
│── cluesReview.html # Page for reviewing clues when incorrect
│── frontPage.html # Homepage
│── instruction.html # Instructions for gameplay
│── login.html # Login page
│── mystery.html # Final mystery-solving challenge
│── mysterySolved.html # Success page when the mystery is solved
│── questions.html # Main gameplay page with questions
│── register.html # Sign-up page
│── README.md # Project documentation
│── .gitignore # Git ignore file
Follow these steps to set up Learnify locally:
git clone <repository-url>
cd <project-directory>- Download and install Node.js if it is not already installed.
npm install- Use Live Server (VS Code extension) or any static file server to serve
frontPage.html.
- Navigate to:
http://localhost:8000(or your local server's port) to interact with Learnify.
- Register a new account on
register.html.
- Log in via
login.htmlusing the registered credentials.
- Read how to play on
instruction.html.
- Answer multiple-choice questions on
questions.html. - Gather clues and solve the final mystery.
Contributions are welcome! If you have suggestions, improvements, or bug fixes:
- Fork the repository.
- Create a new branch for your changes.
- Submit a pull request with a clear explanation.
✔ Improved UI/UX for better engagement ✔ More question categories and difficulty levels ✔ Leaderboard and user performance tracking
Enjoy the experience! Remember, every challenge is a step towards learning. 🚀
