Skip to content

HarunaDev/gamefi-app

Repository files navigation

[Product Name]

An educational desktop gaming platform that makes learning engaging and interactive for students.

Table of Contents

Overview

[Product Name] is a cross-platform desktop application that combines gaming and education to create an immersive learning experience for students. Built with Electron and React, the application delivers native-like performance across Windows, macOS, and Linux operating systems.

Features

  • Cross-Platform Support: Run seamlessly on Windows, macOS, and Linux
  • Interactive Learning: Gamified educational content that keeps students engaged
  • Modern UI: Built with React and Tailwind CSS for a responsive, intuitive interface
  • Offline Capability: Desktop application that works without constant internet connectivity

Prerequisites

Before you begin, ensure you have the following installed on your system:

  • Node.js: Version 18.x or higher (Download)
  • npm: Version 9.x or higher (comes with Node.js)
  • Git: For version control (Download)

Platform-Specific Requirements

macOS:

  • Xcode Command Line Tools: xcode-select --install

Windows:

  • Windows SDK (for building Windows installers)
  • Visual Studio Build Tools (recommended)

Linux:

  • Standard build tools: sudo apt-get install build-essential

Installation

  1. Clone the repository:
   git clone <repository-url>
   cd gamefi-app
  1. Install dependencies:
   npm install

Or using Yarn:

   yarn install

Development

Running the Application in Development Mode

To start the application with hot-reload enabled:

npm run dev

This command runs both the React development server and Electron concurrently. The application will automatically reload when you make changes to the code.

Running Components Separately

If you need to run the React app or Electron process individually:

React development server only:

npm run dev:react

Electron process only:

npm run dev:electron

Code Linting

To check code quality and style:

npm run lint

Preview Production Build

To preview the production build locally:

npm run preview

Building for Production

The application can be built for multiple operating systems. You can build on your current platform or cross-compile for other platforms (with some limitations).

Build for macOS

npm run dist:mac

Output: dist/[Product Name]-[version].dmg

Requirements:

  • Must be run on macOS for proper code signing
  • Builds x64 (Intel) compatible application

Build for Windows

npm run dist:win

Output: dist/[Product Name]-[version].exe

Produces:

  • NSIS installer (.exe)
  • x64 (64-bit) compatible application

Build for Linux

npm run dist:linux

Output: dist/[Product Name]-[version].AppImage

Produces:

  • AppImage (universal Linux format)
  • x64 compatible application

Build Process Details

The build process consists of three stages:

  1. TypeScript Compilation: Transpiles Electron main process TypeScript code
  2. React Build: Creates optimized production bundle with Vite
  3. Electron Packaging: Uses electron-builder to create platform-specific installers

Build Configuration

Build settings are configured in package.json under the build section. Customize app icons, file associations, and installer options there.

Project Structure

gamefi-app/
├── src/
│   ├── electron/          # Electron main process code
│   │   └── tsconfig.json  # TypeScript config for Electron
│   ├── components/        # React components
│   ├── pages/            # Application pages
│   └── App.tsx           # Main React application
├── dist/                 # Production builds (generated)
├── dist-electron/        # Compiled Electron code (generated)
├── public/               # Static assets
├── package.json          # Project dependencies and scripts
├── tsconfig.json         # TypeScript configuration
└── vite.config.ts        # Vite build configuration

Technology Stack

Core Technologies

  • Electron: v39.2.7 - Desktop application framework
  • React: v19.2.0 - UI library
  • TypeScript: v5.9.3 - Type-safe JavaScript
  • Vite: v7.2.4 - Build tool and development server

UI Framework

  • Tailwind CSS: v4.1.18 - Utility-first CSS framework
  • React Router: v7.12.0 - Client-side routing

Development Tools

  • ESLint: Code linting and quality checks
  • electron-builder: v26.4.0 - Application packaging
  • npm-run-all: Parallel script execution

Contributing

We welcome contributions from the community! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Make your changes and commit: git commit -m 'Add some feature'
  4. Push to the branch: git push origin feature/your-feature-name
  5. Submit a pull request

Development Guidelines

  • Follow the existing code style and conventions
  • Run npm run lint before committing
  • Write meaningful commit messages
  • Update documentation as needed
  • Test your changes on multiple platforms if possible

Code Style

  • Use TypeScript for all new code
  • Follow React best practices and hooks conventions
  • Use functional components over class components
  • Maintain consistent formatting (Prettier recommended)

License

[License Type] - See LICENSE file for details


Support

For issues, questions, or contributions, please:

  • Open an issue on GitHub
  • Contact the development team at [contact email]
  • Review existing documentation in the /docs folder

Roadmap

  • Multi-language support
  • Cloud save synchronization
  • Achievement system
  • Multiplayer capabilities
  • Custom content creation tools

Built with ❤️ for educators and students worldwide

About

EduPlay

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors