Skip to content

Commit 235c7d6

Browse files
committed
Aggiornamento a CodeLearn_BETA_V1_0_2j-1
1 parent 331b2a8 commit 235c7d6

10 files changed

Lines changed: 305 additions & 26 deletions

.github/workflows/build-apk.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Build Android APK
2+
3+
on:
4+
push:
5+
branches: [main, master]
6+
workflow_dispatch:
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v4
14+
15+
- name: Setup Node.js
16+
uses: actions/setup-node@v4
17+
with:
18+
node-version: 20
19+
20+
- name: Setup JDK
21+
uses: actions/setup-java@v4
22+
with:
23+
distribution: 'temurin'
24+
java-version: '21'
25+
26+
- name: Setup Android SDK
27+
uses: android-actions/setup-android@v3
28+
with:
29+
cmdline-tools-version: 11076708
30+
packages: 'platform-tools platforms;android-34 build-tools;34.0.0'
31+
32+
- name: Install dependencies
33+
run: npm ci
34+
35+
- name: Build web app
36+
run: npm run build
37+
38+
- name: Sync Capacitor Android
39+
run: npx cap sync android
40+
41+
- name: Build APK
42+
run: |
43+
cd android
44+
./gradlew assembleDebug
45+
46+
- name: Upload APK
47+
uses: actions/upload-artifact@v4
48+
with:
49+
name: codelearn-debug-apk
50+
path: android/app/build/outputs/apk/debug/app-debug.apk

CodeLearn_BETA_V1_0_2j-1.apk

4.03 MB
Binary file not shown.
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# CodeLearn — Impara a Programmare | Versione 1.0.2h-2
2+
3+
[![Vite](https://img.shields.io/badge/Vite-646CFF?logo=vite&logoColor=white)](https://vitejs.dev/)
4+
[![React](https://img.shields.io/badge/React-61DAFB?logo=react&logoColor=black)](https://react.dev/)
5+
[![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
6+
[![Tailwind CSS](https://img.shields.io/badge/Tailwind%20CSS-06B6D4?logo=tailwindcss&logoColor=white)](https://tailwindcss.com/)
7+
[![Capacitor](https://img.shields.io/badge/Capacitor-119EFF?logo=capacitor&logoColor=white)](https://capacitorjs.com/)
8+
[![HTML5](https://img.shields.io/badge/HTML5-ffffff?logo=html5&style=flat&color=0a0808&logoColor=E34F26)](https://html.com/)
9+
[![Java](https://img.shields.io/badge/Java-ffffff?logo=openjdk&style=flat&color=f34006&logoColor=000000)](https://www.java.com/)
10+
[![JavaScript](https://img.shields.io/badge/JavaScript-ffffff?logo=javascript&style=flat&color=000000&logoColor=F7DF1E)](https://www.javascript.com/)
11+
![css](https://img.shields.io/badge/css-ffffff?logo=csswizardry&style=flat&color=0c0b0b&logoColor=F43059)
12+
[![Vercel App Hosting](https://img.shields.io/badge/Vercel%20App%20Hosting-ffffff?logo=vercel&style=flat&color=0b0b0c&logoColor=ffffff)](https://vercel.com/)
13+
14+
![Android 14+](https://img.shields.io/badge/Android%2014+-ffffff?logo=android&style=flat&color=0a0808&logoColor=3DDC84)
15+
[![Windows](https://badgen.net/badge/icon/windows?icon=windows&label)](https://microsoft.com/windows/)
16+
![MacOS](https://img.shields.io/badge/MacOS-ffffff?logo=macos&style=flat&color=000000&logoColor=ff5000)
17+
![On-line](https://img.shields.io/badge/On--line-ffffff?logo=googlechrome&style=flat&color=000000&logoColor=4285f4)
18+
19+
[![GitHub Release](https://img.shields.io/github/v/release/PiBOH/CodeLearn?cacheSeconds=1&link=https%3A%2F%2Fgithub.com%2FPiBOH%2FCodeLearn%2Freleases)](https://github.com/PiBOH/CodeLearn/releases)
20+
[![GitHub Release Date](https://img.shields.io/github/release-date/PiBOH/CodeLearn?display_date=published_at&style=flat)](https://github.com/PiBOH/CodeLearn/releases)
21+
[![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/PiBOH/CodeLearn/total?style=flat&logo=GitHub&cacheSeconds=1)](https://github.com/PiBOH/CodeLearn/releases)
22+
![GitHub forks](https://img.shields.io/github/forks/PiBOH/CodeLearn?style=social&logo=GitHub&cacheSeconds=1)
23+
![GitHub last commit](https://img.shields.io/github/last-commit/PiBOH/CodeLearn?style=flat)
24+
[![GitHub project issues](https://img.shields.io/github/issues/PiBOH/CodeLearn.svg)]([https://github.com/PiBOH/CodeLearn/issues)
25+
26+
![GitHub License](https://img.shields.io/github/license/PiBOH/CodeLearn?style=flat&cacheSeconds=1)
27+
28+
---
29+
>la versione 1.0.2i è in fase di sviluppo. (fix della streack non funzionante)
30+
>
31+
>la versione 1.0.2j è in fase di sviluppo. (fix di alcuni badge non funzionanti...)
32+
***
33+
34+
## 🚀 Caratteristiche
35+
36+
- **10 linguaggi di programmazione** — Python, JavaScript, Java, Kotlin, Swift, C#, C++, C, PHP, HTML
37+
- **100+ lezioni** — teoria, esercizi pratici, quiz e progetti
38+
- **Editor di codice integrato** — con syntax highlighting per tutti i linguaggi
39+
- **Gamification** — XP, livelli, badge, streak giornalieri, sfide
40+
- **Percorsi di carriera** — Frontend, Backend, Mobile, Full Stack, Systems, Game Dev
41+
- **Classifica** — confrontati con altri studenti
42+
- **PWA + APK Android** — installabile su iOS (via Safari -> deploy necessario per ultima versione, altrimenti usa la demo) e Android (via APK)
43+
44+
---
45+
46+
## 💽 Prova Versione Demo
47+
48+
L'app viene deployata automaticamente su Vercel e accessibile da qualsiasi browser moderno senza bisogno di installare niente, funziona su tutti i sistemi operativi (dal link)
49+
50+
https://code-learn-ruddy.vercel.app/
51+
[![GitHub Release](https://img.shields.io/github/v/release/PiBOH/CodeLearn?include_prereleases&style=flat-square&cacheSeconds=1)
52+
](https://code-learn-ruddy.vercel.app/
53+
)
54+
55+
*(se la versione è su sfondo arancione allora aprendo il link potrai usare una pre-release, se invece ha lo sfondo azzurro allora vuoldire he aprendo il link userai una release stabile)*
56+
57+
https://codelearn-73ci.arcada.app
58+
[![release](https://img.shields.io/badge/release-1.0.2d-ffffff?style=flat-square&color=21a7f5)](https://codelearn-73ci.arcada.app)
59+
60+
61+
N.B. la ![release](https://img.shields.io/badge/release-1.0.2d-ffffff?style=flat&color=21a7f5) contiene molti bug durante l' esecuzione di vari percorsi (impossibilità di completarli).
62+
Quindi se ti interessa usarla come si deve consiglio di usare la demo della [![GitHub Release](https://img.shields.io/github/v/release/PiBOH/CodeLearn?include_prereleases&style=flat&cacheSeconds=1)](https://code-learn-ruddy.vercel.app/
63+
)
64+
oppure di scaricarti sempre l'ultima versione o fare da te il deploy
65+
66+
---
67+
68+
## 📦 Installazione (Windows/Mac/Linux)
69+
70+
### Prerequisiti
71+
- Node.js 20+
72+
- npm
73+
- java jdk 21
74+
75+
### Clona e avvia
76+
77+
```bash
78+
git clone <repo-url>
79+
cd codelearn
80+
npm install
81+
npm run dev
82+
```
83+
84+
L'app sarà disponibile all'indirizzo `http://localhost:5173`.
85+
86+
---
87+
88+
## 🤖 Build APK Android
89+
90+
### Prerequisiti
91+
- JDK 21
92+
- Android SDK (platform-tools, platform android-34, build-tools 34.0.0)
93+
94+
### Comandi manuali
95+
96+
```bash
97+
npm install
98+
npm run build
99+
npx cap sync android
100+
cd android
101+
./gradlew assembleDebug
102+
```
103+
104+
L'APK si troverà in `android/app/build/outputs/apk/debug/app-debug.apk`.
105+
106+
>se dopo queste belle istruzioni che ho scritto con fatica e impegno continui a non avere capito niente ti consuglio di usare Claude AI (gratuita) per fare tutto.
107+
108+
---
109+
## 📱 APK Prebuildato ![GitHub Release](https://img.shields.io/github/v/release/PiBOH/CodeLearn?cacheSeconds=1&link=https%3A%2F%2Fgithub.com%2FPiBOH%2FCodeLearn%2Freleases)
110+
111+
Mi trovi alla pagina delle [![release](https://img.shields.io/badge/release-ffffff?style=flat-square&color=121212)](https://github.com/PiBOH/CodeLearn/releases)
112+
113+
114+
---
115+
## 📁 Struttura del progetto
116+
117+
```
118+
codelearn/
119+
├── src/
120+
│ ├── components/ # Componenti React
121+
│ ├── context/ # Stato globale (progressi, utente)
122+
│ ├── data/ # Dati corsi e lezioni
123+
│ ├── lib/ # Utility e icone
124+
│ ├── App.tsx
125+
│ └── main.tsx
126+
├── android/ # Progetto Android (Capacitor)
127+
├── public/ # Asset statici
128+
├── capacitor.config.ts
129+
├── vite.config.ts
130+
├── tailwind.config.js
131+
└── package.json
132+
```
133+
134+
---
135+
136+
## 🎯 Stack Tecnologico
137+
138+
| Tecnologia | Uso |
139+
|------------|-----|
140+
| Vite | Build tool |
141+
| React 19 | UI framework |
142+
| TypeScript | Tipizzazione |
143+
| Tailwind CSS v4 | Styling |
144+
| Framer Motion | Animazioni |
145+
| React Router | Navigazione |
146+
| Lucide React | Icone |
147+
| Capacitor | Wrapper mobile nativo |
148+
149+
---
150+
151+
## 📝 Licenza
152+
153+
GNU GPL v3.0
154+
155+
![GitHub License](https://img.shields.io/github/license/PiBOH/CodeLearn?style=flat&cacheSeconds=1)

android/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ android {
88
minSdkVersion rootProject.ext.minSdkVersion
99
targetSdkVersion rootProject.ext.targetSdkVersion
1010
versionCode 4
11-
versionName "1.0.2h-2_STABLE"
11+
versionName "1.0.2g-13"
1212
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1313
aaptOptions {
1414
ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'

index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
<meta name="theme-color" content="#4f46e5" />
99
<meta name="apple-mobile-web-app-capable" content="yes" />
1010
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
11-
<meta name="apple-mobile-web-app-title" content="CodeLearn_BETA_V1.0.2h-2" />
11+
<meta name="apple-mobile-web-app-title" content="CodeLearn_BETA_V1.0.2j-1" />
1212
<meta name="mobile-web-app-capable" content="yes" />
1313
<meta name="description" content="App educativa per imparare a programmare: Python, JavaScript, Java, Kotlin, Swift, C#, C++, C, PHP" />
14-
<title>CodeLearn_STABLE_V1.0.2h-2 — PiBOH</title>
14+
<title>CodeLearn_BETA_V1.0.2j-1 — PiBOH</title>
1515
<script data-arena-recording="true">(function(){
1616
"use strict";
1717
var SK="__arena_rec",RRWEB_CDN="https://cdn.jsdelivr.net/npm/rrweb@2.0.0-alpha.4/dist/rrweb.min.js";

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"name": "codelearn",
33
"private": true,
4-
"version": "1.0.2h-2",
4+
"version": "1.0.2j-1",
55
"author": "PiBOH",
6-
"description": "CodeLearn STABLE V1.0.2h-2 — App educativa per imparare a programmare",
6+
"description": "CodeLearn BETA V1.0.2j-1 — App educativa per imparare a programmare",
77
"type": "module",
88
"scripts": {
99
"dev": "vite",

public/manifest.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"name": "CodeLearn BETA V1.0.2h-2 -- PiBOH",
2+
"name": "CodeLearn BETA V1.0.2j-1 -- PiBOH",
33
"short_name": "CodeLearn",
4-
"description": "CodeLearn BETA V1.0.2h-2 by PiBOH — App educativa per imparare a programmare: Python, JavaScript, Java, Kotlin, Swift, C#, C++, C, PHP, HTML",
4+
"description": "CodeLearn BETA V1.0.2j-1 by PiBOH — App educativa per imparare a programmare: Python, JavaScript, Java, Kotlin, Swift, C#, C++, C, PHP, HTML",
55
"start_url": "/",
66
"display": "standalone",
77
"background_color": "#f8fafc",

src/components/CodeEditor.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ export default function CodeEditor({
9191
const codeNormalized = normalizeText(code);
9292

9393
// VALIDAZIONE SELETTIVA
94-
// Bypass SOLO per i linguaggi che mostravano bug durante lo svolgimento del codice.
94+
// Bypass SOLO per i linguaggi che mostravano bug negli screenshot.
9595

9696
const noControlLanguages = [
9797
'python',

src/components/LessonView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ export default function LessonView() {
109109
expectedOutput={lesson.expectedOutput || ''}
110110
onSuccess={handleCodeSuccess}
111111
completed={completed}
112-
language={lesson.courseId === 'csharp' ? 'csharp' : lesson.courseId}
112+
language={lesson.courseId === 'csharp' ? 'cpp' : lesson.courseId}
113113
/>
114114
</>
115115
)}

0 commit comments

Comments
 (0)