Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
ea8d331
Add JavaScript basics lessons and README
AnouarMellouk-Engineer Feb 5, 2026
4742d37
Update README.md
AnouarMellouk-Engineer Feb 5, 2026
f868cbc
Add HTML and CSS fundamentals README
AnouarMellouk-Engineer Feb 5, 2026
c2f7c51
Update html.md
AnouarMellouk-Engineer Feb 5, 2026
23ab750
Update html.md
AnouarMellouk-Engineer Feb 5, 2026
480aef8
Update css.md
AnouarMellouk-Engineer Feb 5, 2026
9c7c928
setup project structure and add README documentation
AnouarMellouk-Engineer Feb 10, 2026
4759e3e
update SESSIONS.md
AnouarMellouk-Engineer Feb 10, 2026
5022c57
update SESSIONS.md
AnouarMellouk-Engineer Feb 10, 2026
4fd5fd8
update SESSIONS.md
AnouarMellouk-Engineer Feb 10, 2026
c26358a
update SESSIONS.md
AnouarMellouk-Engineer Feb 10, 2026
ef05ef9
update SESSIONS.md
AnouarMellouk-Engineer Feb 10, 2026
d3b9abc
update README.md for challenge-01
AnouarMellouk-Engineer Feb 10, 2026
cf29249
update CONTRIBUTING.md
AnouarMellouk-Engineer Feb 10, 2026
756d2ac
update README.mdfor challenge 01
AnouarMellouk-Engineer Feb 10, 2026
dcd91a2
update CHALLENES.md
AnouarMellouk-Engineer Feb 10, 2026
67b3762
add lesson 01
AnouarMellouk-Engineer Feb 20, 2026
ad6481d
add frontend challenge 01
AnouarMellouk-Engineer Feb 20, 2026
b41b7b2
update README file ( frontend challenge 01)
AnouarMellouk-Engineer Feb 20, 2026
ff0b9a4
update README file for frontend session
AnouarMellouk-Engineer Feb 20, 2026
b5b1ec3
add README file for back challenge
AnouarMellouk-Engineer Feb 20, 2026
be29820
Added 1st layali web session
Adel2411 Feb 22, 2026
5bf2645
weather CLI
ayoubgz1 Feb 25, 2026
2399ab2
Merge pull request #1 from ayoubgz1/ayoubgz1-patch-1
ayoubgz1 Feb 25, 2026
635d519
Create 3-Advanced Hooks & Optimization
AnouarMellouk-Engineer Mar 25, 2026
e2256f5
add 'advance Hooks & optimization ' README file
AnouarMellouk-Engineer Mar 25, 2026
9c0ca47
update 'advance Hooks & optimization ' README file
AnouarMellouk-Engineer Mar 25, 2026
6c223aa
update 'advance Hooks & optimization ' README file
AnouarMellouk-Engineer Mar 25, 2026
fc9abd5
add README.md file for Databases Essentials workshop
AnouarMellouk-Engineer Apr 4, 2026
6d92058
update README.md file
AnouarMellouk-Engineer Apr 4, 2026
a7be526
update README.md file
AnouarMellouk-Engineer Apr 4, 2026
9dac65b
update README.md file
AnouarMellouk-Engineer Apr 4, 2026
3d5bb7e
update README.md file
AnouarMellouk-Engineer Apr 4, 2026
53dd79b
update README.md file
AnouarMellouk-Engineer Apr 4, 2026
e21f122
update README.md file
AnouarMellouk-Engineer Apr 4, 2026
42f36a2
add README for Prayer Times React challenge
AnouarMellouk-Engineer Apr 16, 2026
d3f9282
add README for prayer times challenge (backend)
AnouarMellouk-Engineer Apr 16, 2026
e54e27e
add README file for Modern I Development
AnouarMellouk-Engineer Apr 20, 2026
69530d7
update README file for Modern UI Development
AnouarMellouk-Engineer Apr 20, 2026
a4a8836
Merge branch 'MicroClub-USTHB:web' into web
ayoubgz1 Apr 24, 2026
09a635a
Delete web/Learning-Season/03-backend/challenges/ode.js & Modern Java…
ayoubgz1 Apr 24, 2026
31fb27c
Delete web/Learning-Season/03-backend/challenges/ode.js & Modern Java…
ayoubgz1 Apr 24, 2026
8081b38
Delete web/Learning-Season/03-backend/challenges/ode.js & Modern Java…
ayoubgz1 Apr 24, 2026
3638f46
Delete web/Learning-Season/03-backend/challenges/ode.js & Modern Java…
ayoubgz1 Apr 24, 2026
f0e75fc
Delete web/Learning-Season/03-backend/challenges/ode.js & Modern Java…
ayoubgz1 Apr 24, 2026
efdf58c
Add files via upload
ayoubgz1 Apr 24, 2026
232ae9d
Delete web/Learning-Season/03-backend/challenges/ode.js & Modern Java…
ayoubgz1 Apr 24, 2026
57a7ff5
Delete web/Learning-Season/03-backend/challenges/ode.js & Modern Java…
ayoubgz1 Apr 24, 2026
f19eda0
Delete web/Learning-Season/03-backend/challenges/ode.js & Modern Java…
ayoubgz1 Apr 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
419 changes: 419 additions & 0 deletions web/Layali/beyond-mern.md

Large diffs are not rendered by default.

101 changes: 101 additions & 0 deletions web/Learning-Season/01-fundamentals/challenges/challenge-01/README.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# 📝 Advanced Task Manager App Challenge

Welcome to the **Advanced Task Manager App Challenge**! This project is designed to **push your HTML, CSS, and JavaScript skills to the next level** by building a fully interactive and dynamic web application from scratch.

Your goal is to create a **Task Manager** where users can organize, track, and manage their tasks efficiently. This challenge will test your ability to manipulate the DOM, handle events, and manage data in the browser.

---

## 🚀 Challenge Overview

You are tasked with building a **web-based task manager** that allows users to:

- **Add new tasks** with titles and optional categories.
- **Edit tasks** after they are created.
- **Delete tasks** when they are no longer needed.
- **Mark tasks as completed** and visually distinguish completed tasks.
- **Filter tasks** by status (all, completed, pending) and category.
- **Reorder tasks** via drag-and-drop (advanced bonus).
- **Persist tasks** across page reloads using `localStorage`.

This project will make your app **interactive, responsive, and user-friendly** while giving you practical experience with real-world front-end development concepts.

---

## 📋 Required Features

1. **Add Task**
- User can type a task name and select a category (optional).
- Task is added to the list dynamically without refreshing the page.

2. **Edit Task**
- User can edit the task title after it’s created.
- Changes are saved immediately and reflected in the UI.

3. **Delete Task**
- Remove tasks individually with a delete button.

4. **Mark as Complete**
- Clicking a task or a checkbox marks it as complete.
- Completed tasks should appear visually distinct (e.g., strike-through).

5. **Filter Tasks**
- Filter tasks by **status**: all, completed, pending.
- Filter tasks by **category**.

6. **Persistent Storage**
- Tasks should remain after page reloads using `localStorage`.

---

## ✨ Bonus Features (Optional, for Extra Challenge)

- **Drag & Drop**
- Allow users to reorder tasks by dragging and dropping them.
- **Search Functionality**
- Add a search input to filter tasks by keywords.
- **Progress Indicator**
- Show the percentage of completed tasks dynamically.
- **Theme Toggle**
- Implement a dark/light mode switch.

---

## 🎯 Project Requirements

- Use **HTML, CSS, and vanilla JavaScript only**.
- Make your app **responsive** for mobile and desktop screens.
- Use **clean, readable code** with proper comments.
- Focus on **user experience**: intuitive interactions, clear buttons, and smooth animations.
- Push your code to **GitHub** and submit your final version via a **pull request**.

---

## 📚 Learning Outcomes

By completing this project, you will:

- Strengthen your skills in **DOM manipulation**.
- Learn to **handle events and user interactions** effectively.
- Practice **storing and retrieving data** from the browser (`localStorage`).
- Improve **problem-solving skills** by implementing dynamic features.
- Gain experience in building **real-world web applications**.

---

## 🛠 Suggested Tools

- **Browser Developer Tools** (for debugging)
- **VS Code** (or your favorite code editor)
- **Git & GitHub** (to version your project and share your work)

---

## ✅ Submission Guidelines

All contributions to this project should follow the **standard workflow** described in our [`CONTRIBUTING.md`](../../../CONTRIBUTING.md) file. Please make sure to read it carefully before starting your work. It contains all the necessary steps for creating a pull request, committing your changes, and ensuring your code meets the repository standards. Following these guidelines will help you maintain a professional workflow, make your contributions review-ready, and streamline the process of submitting your completed Task Manager App.

---

**Good luck, and have fun building your Task Manager App!** 🎉
Remember: the more features you implement, the stronger your skills will become.
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
var name;
let name2;
let var1 = false;
const name3 = "ali";
var1 = true;
name = "anouar";
name = "ahmed ";

console.log("helo mc"); // print hello mc
console.log(`helo mc`); // print hello mc

console.log("hello " + name); // hello anouar
console.log(`hello ${name}`); // hello anouar

// this is single line comment
/*
this is
multi
line
comment
*/

// Arithmetic operators
let number1 = 12;
let number2 = 5;
console.log(number1 + number2); // 17
console.log(number1 - number2); //7
console.log(number1 * number2); // 60
console.log(number1 / number2); // 2.4

// logical operators
let var2 = true;
let var3 = false;
let var4 = true;
console.log(var2 && var3);
console.log(var2 || var3);
console.log(!var2);

//comparison operator ( < , > , == , <= , >= , != , === , !==)
console.log(5 <= 6); // print false
console.log(5 >= 6); // print true
console.log(5 == 6); // print true
console.log(6 != 6); // print false

console.log("6" >= 6); // print true

console.log("6" === 6); // print false
console.log("5" === 6); // print flase
console.log("6" !== 6); // print true
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
// conditional statement (if..else , switch)

// if
let age = 18;

if (age >= 18) {
console.log("You can drive");
}

// if..else
const hour = 5;
if (hour < 18) {
console.log("Good day");
} else {
console.log("Good evening");
}

// if..else if..else
if (time < 10) {
greeting = "Good morning";
} else if (time < 20) {
greeting = "Good day";
} else {
greeting = "Good evening";
}

// switch
const today = 4;
switch (today) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
}

// iterative statements (loops) (for , while ,do..while)
for (let i = 0; i < 10; i++) {
console.log("hello mc");
}

let j = 0;
while (j < 10) {
console.log("hello mc");
j++;
}

let k = 0;
do {
console.log("hello mc");
k++;
} while (k < 10);
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
function sayHello() {
console.log("hello mc ");
}
sayHello();

function sayHelloWithParametar(name, age) {
console.log("hello " + name);
console.log("age " + age);
}
sayHelloWithParametar("ahmed", 23);

const sayHello2 = () => {
console.log("hello ");
};
const sayHello3 = function () {
console.log("hello ");
};
sayHello2();
sayHello3();

function sum(number1, number2) {
return number1 + number2;
}
let sum2 = sum(3, 5);
console.log(sum2);

function add2(a, b) {
console.log("HI");
return a + b;
}
console.log(add2(3, 4));
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# JavaScript Basics

JavaScript is a programming language used to add logic and behavior to websites.
This document covers the **fundamental concepts of JavaScript**, focusing on logic and the language itself, without interacting with HTML or the browser.

---

## 🎯 Learning Objectives

By the end of this section, learners will be able to:

- Understand the role of JavaScript in web development
- Write basic JavaScript programs
- Use variables, conditions, loops, and functions

---

## 📌 JavaScript Fundamentals

### 1. Variables

Variables are used to store data.

- `var` (old, avoid)
- `let` (mutable)
- `const` (immutable)

```js
let age = 20;
const country = "Algeria";
```

### 2. Data Types

JavaScript supports different types of data:

- Number
- String
- Boolean
- Undefined
- Null
- Object
- Array

```js
let name = "Anouar";
let isStudent = true;
let score = 15;
```

### 3. Operators

**Arithmetic Operators**

- `+ - / % *`

**Comparison Operators**

- `== ===`
- `!= !==`
- `> < >= <=`

**Logical Operators**

- `&& || !`

### 4. Conditions

Conditions allow decision-making in code.

- if
- else if
- else
- switch

```js
if (age >= 18) {
console.log("Adult");
} else {
console.log("Minor");
}
```

### 5. Loops

Loops are used to repeat code.

- for
- while
- do...while

```js
for (let i = 0; i < 5; i++) {
console.log(i);
}
```

### 6. functions

Functions allow code reuse.

- Function declaration
- Parameters
- Return values
- Arrow functions

```js
function add(a, b) {
return a + b;
}

const multiply = (a, b) => a * b;
```
Loading