Skip to content

DiegoDev-7/Devices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Nexia OS Logo

Nexia - ATM and Mobile Device Ecosystem Simulator

An interactive simulator that emulates an ATM (automated teller machine) and a mobile device with a complete ecosystem of more than 17 functional and interactive integrated applications.


Table of Contents

  1. Overview
  2. Main Features
  3. Project Architecture
  4. Technologies Used
  5. Installation and Running
  6. Project Structure

Overview

Nexia is an advanced simulator that emulates a full banking and mobile ecosystem. It allows interaction with an ATM and a mobile device featuring more than 17 functional and interactive applications, enabling bank transactions, contact management, money transfers, and much more.


Main Features

🏦 ATM System

  • Authentication: Access using bank card and PIN
  • Cash management: Deposits and withdrawals
  • Balance inquiry: Display available funds
  • Advanced leaderboard:
    • View users with the most money
    • Users with the most registered contacts
    • Users who have made the most transactions
  • Realistic interface: Design that emulates a real ATM

Mobile System

Device Interface

  • Status Bar: Displays real-time clock continuously
  • Unlock Screen: Device lock/unlock interface
  • Functional Physical Buttons:
    • Volume buttons (up/down) - integrated with the radio app
    • Bottom navigation buttons on the touchscreen for going back
  • Multiple languages: Spanish, English, Japanese, and French

17+ Functional and Interactive Applications

Application Description
πŸ’° Bank View balance, make transactions, operation history
🎁 Rewards View available money, claim rewards periodically
πŸ’Έ Transfers Securely send money to other users
πŸ“ž Contacts Add/update/delete contacts with name and phone number
πŸ“± Phone Make calls to contacts
πŸ’¬ Messages Messaging system between users
πŸ“» Radio Player with 3 international stations:
- πŸ‡¨πŸ‡΄ Colombia
- πŸ‡ΊπŸ‡Έ USA
- πŸ‡―πŸ‡΅ Japan
Volume control integrated with physical buttons
🎬 The Simpsons Character, episode, and location information
πŸ† Leaderboard Global user rankings by money and transactions
βš™οΈ Settings Change wallpapers, dark/light theme, language
πŸ“Έ Gallery Device image management
πŸ”” Notifications Alert and notification system
πŸ‘€ Profile User information
πŸ›Ÿ Support Help and contact system
And more... Multiple additional interactive applications

Personalization

  • Wallpaper change: Multiple visual themes
  • Themes: Dark and light mode
  • Language: Support for 4 main languages

Project Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Presentation (UI/React)           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ ATM System | Mobile System      β”‚β”‚
β”‚  β”‚ - Screens  | - Apps (17+)       β”‚β”‚
β”‚  β”‚ - Auth     | - Hardware UI      β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Logic (Hooks/Core)                β”‚
β”‚  - Global State                     β”‚
β”‚  - Validations                      β”‚
β”‚  - Utilities                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Services (API)                    β”‚
β”‚  - Auth0 | Bank | Transfers         β”‚
β”‚  - User | Contacts | Radio          β”‚
β”‚  - Leaderboard | Support            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Backend API (Server)              β”‚
β”‚  - Authentication                   β”‚
β”‚  - Banking Operations               β”‚
β”‚  - Data Synchronization             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Project Structure

Nexia/
β”œβ”€β”€ package.json                 # Project dependencies and scripts
β”œβ”€β”€ tsconfig.json                # TypeScript configuration
β”œβ”€β”€ vite.config.ts               # Vite build configuration
β”œβ”€β”€ index.html                   # App entry HTML
└── src/
    β”œβ”€β”€ main.tsx                 # React app entry point
    β”œβ”€β”€ App.tsx                  # Root application component
    β”œβ”€β”€ api/
    β”‚   └── axios.client.ts      # HTTP client setup
    β”œβ”€β”€ assets/                  # Images, icons, wallpapers, fonts
    β”œβ”€β”€ i18n/                    # Multi-language support and context
    └── Nexia/
        β”œβ”€β”€ auth/                # Auth UI and flows
        β”œβ”€β”€ components/          # Shared UI components
        β”œβ”€β”€ pages/               # Main page screens and layouts
        β”œβ”€β”€ services/            # External API service modules
        β”œβ”€β”€ styles/              # Global and feature styles
        β”œβ”€β”€ SystemAtm/           # ATM system screens and logic
        └── SystemPhone/         # Mobile system screens, apps, and core

Technologies Used

Category Technology Version
Framework React ^19.2.3
Language TypeScript ~5.9.3
Bundler Vite 7.2.5
Routing React Router DOM ^7.12.0
Authentication Auth0 React ^2.15.1
HTTP Client Axios ^1.13.6
Icons Lucide React ^1.3.0
Linting ESLint ^9.39.1

Prerequisites

  • Node.js v18+
  • npm v9+
  • Modern browser

Installation and Running

1. Installation

# Clone repository
git clone <REPOSITORY_URL>
cd Devices/Nexia

# Install dependencies
npm install

2. Configure Environment Variables

Create a .env file:

VITE_AUTH0_DOMAIN=your_domain.auth0.com
VITE_AUTH0_CLIENT_ID=your_client_id
VITE_API_URL=http://localhost:3000

3. Run in Development

npm run dev

Open http://localhost:5173

4. Build for Production

npm run build
npm run preview

5. Linting

npm run lint

TypeScript and JavaScript

The project uses TypeScript with React Hooks:

// Typed service example
interface ITransfer {
  id: string;
  from: string;
  to: string;
  amount: number;
}

export const transferMoney = async (
  fromUser: string,
  toUser: string,
  amount: number
): Promise<ITransfer> => {
  return apiClient.post('/transfers', { from: fromUser, to: toUser, amount });
};

Authentication and Security

  • βœ… Auth0 for secure credential management
  • βœ… JWT tokens for sessions
  • βœ… Login, Logout, and Delete Account functional
  • βœ… Input validation on client and server

Version: 1.0.0 | Status: Completed

About

Interactive ATM and mobile ecosystem simulator built with React and TypeScript. Features 17+ functional applications, banking operations, transfers, messaging, leaderboards, multilingual support, and realistic device interactions powered by Auth0 authentication and a modular architecture.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors