Prerequisites
Before you begin, ensure you have:- Node.js 18.x or higher installed
- npm package manager (comes with Node.js)
- Git for cloning the repository
- A modern web browser (Chrome, Firefox, Safari, or Edge)
Installation
Install dependencies
Install all required npm packages:This will install:
- Astro 5.17.1
- Tailwind CSS 4.1.18
- @tailwindcss/vite 4.1.18
Start the development server
Launch the Astro development server:The server will start on port 4321 by default.
If port 4321 is already in use, Astro will automatically select the next available port. Check your terminal output for the actual URL.
Running your first analysis
Once the application is running, you can analyze semiconductor combinations:Enter the host element atomic number
In the “Número Atómico Elemento A (Host)” field, enter an atomic number. For example:
- Enter
14for Silicon (Si)
Enter the dopant element atomic number
In the “Número Atómico Elemento B (Dopante)” field, enter a dopant atomic number:
- Enter
13for Aluminum (Al) to create a P-type semiconductor - Or enter
15for Phosphorus (P) to create an N-type semiconductor
Calculate the material type
Click the “Calcular Material” button.The application will:
- Calculate electronic configurations for both elements
- Determine valence electrons for each element
- Classify the resulting semiconductor type
- Display the material type (Intrinsic, N-type, or P-type)
Explore the visualizations
Scroll down to view:
- Atomic diagrams: Visual representation of electron shells for both elements
- Energy band diagram: Shows the Fermi level position relative to conduction and valence bands
- Crystal lattice structure: 3x3 grid showing the dopant atom integrated into the host crystal with free electrons (e-) or holes (h+) marked
Example combinations
Try these common semiconductor combinations:N-type semiconductor (excess electrons)
P-type semiconductor (excess holes)
Intrinsic semiconductor
Understanding the output
The results display includes:Electronic configuration
For Silicon (Z=14):Material classification
The application determines material type based on valence electron differences:~/workspace/source/src/utils/chemistry.js
Next steps
Now that you have SemiCode Analyzer running:- Experiment with different element combinations
- Study how valence electrons affect semiconductor behavior
- Observe how the Fermi level shifts in the energy band diagram
- Examine the crystal lattice visualization to understand doping at the atomic level
Troubleshooting
Port already in use
If you see an error about port 4321 being in use:Module not found errors
Ensure all dependencies are installed:Periodic table data not loading
Verify thatpublic/periodicTable.json exists in the project root. This file contains element data required for displaying element names and symbols.