Genius: Gamified Educational Platform

Genius: Gamified Educational Platform

Full-stack development of an educational platform implementing gamification, permission system, and real-time communication.

React Node.js Express AntD MySQL Socket.io TailwindCSS Prisma

Planning and Architecture

The development of Genius followed a maintainability-focused approach. The project was divided into two main parts: client (frontend) and server (backend).

├── frontend/
│   ├── src/
│   │   ├── api/           / Redux Toolkit API methods
│   │   ├── assets/        / Static resources
│   │   ├── components/    / Reusable React components
│   │   ├── config/        / Settings (Socket.io, variables)
│   │   ├── pages/         / Application pages
│   │   ├── redux/         / Redux Toolkit states and reducers
│   │   ├── styles/        / CSS styling
│   │   └── utils/         / Utility functions

├── backend/
│   ├── config/            / Server settings
│   ├── controllers/       / Request handlers
│   ├── files/             / Avatar storage
│   ├── middlewares/       / Auth and validation middlewares
│   ├── prisma/            / Database schema and migrations
│   ├── routes/            / Route definitions
│   ├── services/          / Business logic and Prisma operations
│   ├── utils/             / Utility functions
│   └── validations/       / Joi validation schemas

Core Features

  • League system based on community contributions and ratings;
  • Q&A forum for knowledge exchange;
  • Quizzes with immediate feedback;
  • Achievement and point system;
  • Real-time notifications;
  • Progressive permission system based on contributions.

Technology Stack

Frontend

Backend

Development Tools

Outcome

Implementing a gamified approach to education aligned with Brazilian educational guidelines (BNCC), this project was presented and approved in November 2024 as a graduation requirement for the Technical Degree in Internet Computing at the Federal Institute of Rio Grande do Sul, Gravataí Campus.

Screenshots

Homepage

User profile

Report table (administrators only)

Go back