A frontend application for managing levels, characters, and enemies in Nummera, built with Next.js and modern React tools.
- Project Overview
- Features
- Technologies & Tools
- Getting Started
- Available Scripts
- Folder Structure
- Deployment
- License
Numnera Level Management is a frontend application designed to help users manage game levels, player characters, and enemies efficiently. It provides an intuitive interface to perform CRUD operations on levels, characters, and enemies, as well as assign and modify relationships between them.
- Authentication
- User login
- Level Management
- Create, modify, and delete levels
- Character Management
- Create, modify, and delete player characters
- Enemy Management
- Create, modify, and delete enemies
- Assign enemies to levels
- Remove or change enemies within levels
- Problem Management
- Add, remove, and modify problems associated with levels
Frontend Framework:
- Next.js (v15.5.3)
React Libraries:
- React (v19.1.1)
- React DOM (v19.1.1)
- Zustand – State management
- React Query – Data fetching
- Axios – HTTP client
- Framer Motion – Animations
- Lucide React – Icons
- React Icons – Additional icons
- React Gradient Animation
- React Toastify – Notifications
Styling & Utilities:
- TailwindCSS – Utility-first CSS
- PostCSS
- Autoprefixer
Development Tools:
- TypeScript
- ESLint
- Next.js Turbopack
- Visual Studio Code
This guide provides step-by-step instructions for deploying the Nummera Level Management frontend application to an AWS EC2 instance.
Before starting, make sure you have:
- An AWS account with permissions to launch EC2 instances.
- SSH access to the EC2 instance.
- Node.js v20+ installed on your local machine (for verification, optional).
- A GitHub repository URL for the project.
- Log in to the AWS Management Console.
- Navigate to EC2 → Instances → Launch instances.
- Choose an AMI:
- Ubuntu 22.04 LTS (recommended) or Amazon Linux 2023
- Choose an instance type:
t3.mediumor higher (depends on expected traffic)
- Configure security group:
- SSH (port 22) – For connecting to the instance
- HTTP (port 80) – Optional, if you want to serve the app publicly
- Custom port 3000 – Optional, if you plan to run without a reverse proxy
- Launch and download the key pair (e.g.,
your-key.pem).
ssh -i your-key.pem ubuntu@<EC2-PUBLIC-IP>
# or for Amazon Linux
ssh -i your-key.pem ec2-user@<EC2-PUBLIC-IP>sudo yum update -y
sudo yum install git -y
# Install Node.js v20+
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
sudo yum install -y nodejsgit clone https://github.com/yourusername/numnera-level-management.git
cd numnera-level-managementnpm installnpm run buildpm2 start npm --name "nummera-frontend" -- start
pm2 save
pm2 startup