WeLearn is an interactive web platform designed to help students and enthusiasts master sorting algorithms and binary operations through engaging quizzes. Developed as part of a Software Engineering 2 project, it leverages the MERN stack (MongoDB, Express.js, React.js, Node.js) and includes key features such as user progress tracking, a ranking system, and daily rewards.
- Multiple quiz categories (Sorting Algorithms, Binary Operations)
- Difficulty levels (Easy, Medium, Hard)
- Comprehensive quiz management
- Total of 240 quizzes
- User Progress Tracking
- Quiz Completion Tracking
- Ranking System
- Daily Rewards System
ACCESS ADMIN DASHBOARD at https://welearngame.vercel.app/admin (for production) or http://localhost:5173/admin (for development)
- Username: admin123
- Password: Admin123!@#
- Username: johnDoe123
- Password: johnDoe123@
- Frontend: React.js, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Jest:
- Node.js (v14.0.0 or later)
- MongoDB (v4.4 or later)
- npm (v6.0.0 or later)
- Bubble Sort
- Insertion Sort
- Merge Sort
- Selection Sort
- Addition
- Subtraction
- Alphabet Conversions
- Easy
- Medium
- Hard
git clone https://github.com/Adrian9502/WeLearn-SE2
cd WeLearn-SE2cd backend
npm installcd frontend
npm install- Create a
.envfile in the backend directory - Add the following environment variables Copy and paste the code below into the .env file and replace the placeholder values (<...>) with your actual configuration details:
CLOUDINARY_API_SECRET = <replace with cloudinary api key>
MONGODB_URI = <replace with mongodb uri>
JWT_SECRET = <replace with your secured jwt secret key>
API_BASE_URL = https://welearn-api.vercel.app
PUBLIC_URL = https://welearn-api.vercel.app
CLOUDINARY_CLOUD_NAME = <replace with your cloudinary cloud name>
CLOUDINARY_API_KEY = <replace with your cloudinary api key>
cd backend
npm startcd frontend
npm run devquizId: Unique identifier (auto-generated)title: Quiz titleinstructions: Quiz instructionsquestions: Quiz questionsanswer: Correct answertype: Quiz type (Sorting/Binary Operation)category: Specific categorydifficulty: Skill level
Run the seeding script to populate your database with initial quizzes:
cd backend
node scripts/seedQuizzes.js- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
- John Adrian B. Bonto - Full Stack Developer
- Derwin P. Elsenique - Research Paper Scientist
- Ruis A. Lirag - Research Paper Scientist
- Jhade B. Piamonte - Research Analyst
Project Link: https://github.com/Adrian9502/WeLearn-SE2 Live Link: https://welearn.vercel.app/
Big credit to Pixels for our inspired login UI!







