Now, customers want to order the ice cream. The order is simple. You need to select the size of the yogurt base ice cream and check the desired toppings.
In Akan.js, we organize features into "modules" - think of them as complete packages that handle everything related to one thing. An ice cream order module will contain all the code needed to create, display, and manage ice cream orders.
When you create a module, Akan.js automatically generates all the files you need following a consistent pattern. This makes your code organized and easy to understand.

| 1 | Fruit Ring |
|---|
| 2 | Oreo |
|---|
| 3 | Strawberry |
|---|
| 4 | Mango |
|---|
| 5 | Cheese Cube |
|---|
| 6 | Corn |
|---|
| 7 | Granola |
|---|
| 8 | Banana |
|---|
| 9 | Fig |
|---|
Now, let's create a domain for the ice cream order. The domain name is icecreamOrder, and it stores information about each ice cream order.
This command will ask you which application to add the module to - select "koyo" since that's our ice cream shop app. The module name "icecreamOrder" describes what this module handles.
After running this command, Akan.js creates a complete folder structure with all the files you need. Let's look at what gets created:
Each file has a specific purpose in organizing your ice cream order feature:
📋constant.ts: Defines what an ice cream order looks like (size, toppings, etc.)
🌍dictionary.ts: Translates technical terms into user-friendly language
🗄️document.ts: Handles database storage and retrieval
⚙️service.ts: Contains business logic (creating orders, calculating prices)
🔗signal.ts: Connects frontend to backend with API calls
📦store.ts: Manages form state and user interactions
🎨UI Files (.tsx): Create the visual components customers see and interact with
Don't worry about understanding every file right now! We'll work through them step by step. The important thing is that Akan.js is based on this organized structure.