Skip to content

Commit 111b425

Browse files
committed
feat: complete user directory mini project with API integration and UI enhancements
- Implemented API functions for fetching users, user details, posts, and comments. - Developed UI functions for displaying users, handling loading states, and showing error messages. - Created main application logic to initialize the app, handle user interactions, and manage state. - Added HTML structure for user directory, including search functionality and user detail modal. - Styled the application with CSS for a responsive and user-friendly interface. - Included advanced features for filtering and sorting users by company and name. - Provided a script for exporting student packages with curriculum and project resources.
1 parent 10864cf commit 111b425

20 files changed

Lines changed: 5276 additions & 0 deletions

.gitignore

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# OS files
2+
.DS_Store
3+
4+
# Editor folders
5+
.vscode/
6+
.idea/
7+
8+
# Dependencies
9+
node_modules/
10+
11+
# Logs
12+
*.log
13+
npm-debug.log*
14+
yarn-debug.log*
15+
yarn-error.log*
16+
17+
# Test/coverage output
18+
coverage/
19+
20+
# Generated exports/build output
21+
dist/

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Codezela Technologies
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# SE FS JavaScript Fundamentals
2+
3+
Structured learning pathway for JavaScript fundamentals in a software engineering bootcamp flow.
4+
This repository is organized for instructor delivery and student use across two classes plus one mini project.
5+
6+
## Learning Outcomes
7+
8+
By the end of this pathway, students should be able to:
9+
10+
- Use modern JavaScript syntax (`const`/`let`, arrow functions, template literals).
11+
- Transform data with array methods (`map`, `filter`, `find`) and chaining.
12+
- Work with objects, destructuring, spread/rest, and conditionals.
13+
- Fetch data from APIs using `async`/`await` with proper error handling.
14+
- Build a small frontend app with a clean module structure.
15+
16+
## Learning Pathway (Recommended Order)
17+
18+
1. Class 1 Foundations
19+
[Cheat Sheet](curriculum/class-01/cheatsheet.md)
20+
[Exercises](curriculum/class-01/exercises.md)
21+
[Solutions](curriculum/class-01/solutions.md)
22+
2. Class 2 Async + APIs
23+
[Cheat Sheet](curriculum/class-02/cheatsheet.md)
24+
[Exercises](curriculum/class-02/exercises.md)
25+
[Solutions](curriculum/class-02/solutions.md)
26+
3. Mini Project
27+
[Requirements](projects/user-directory/requirements.md)
28+
[Starter App](projects/user-directory/starter/index.html)
29+
[Reference Solution](projects/user-directory/solution/mini-project-solution.js)
30+
4. Full Reference
31+
[Combined Cheat Sheet](curriculum/references/combined-cheatsheet.md)
32+
33+
## Repository Structure
34+
35+
```text
36+
.
37+
├── curriculum/
38+
│ ├── class-01/
39+
│ │ ├── cheatsheet.md
40+
│ │ ├── exercises.md
41+
│ │ └── solutions.md
42+
│ ├── class-02/
43+
│ │ ├── cheatsheet.md
44+
│ │ ├── exercises.md
45+
│ │ └── solutions.md
46+
│ └── references/
47+
│ └── combined-cheatsheet.md
48+
└── projects/
49+
└── user-directory/
50+
├── requirements.md
51+
├── starter/
52+
│ ├── index.html
53+
│ ├── style.css
54+
│ ├── api.js
55+
│ ├── ui.js
56+
│ └── main.js
57+
└── solution/
58+
└── mini-project-solution.js
59+
```
60+
61+
## How to Run the Mini Project Starter
62+
63+
No build tools or package install required.
64+
65+
1. Open `projects/user-directory/starter/index.html` in a browser.
66+
2. Recommended: use VS Code Live Server for module-friendly local serving.
67+
3. Internet access is required because data comes from `https://jsonplaceholder.typicode.com`.
68+
69+
## Instructor Delivery Notes
70+
71+
- Share `cheatsheet.md` + `exercises.md` first.
72+
- Release `solutions.md` after practice or discussion.
73+
- For the project, share `requirements.md` and `starter/` before exposing `solution/`.
74+
- Use `curriculum/references/combined-cheatsheet.md` as revision material near assessments.
75+
76+
## Audience and Prerequisites
77+
78+
- Audience: early-stage full-stack learners.
79+
- Prerequisites: basic HTML/CSS and beginner JavaScript exposure (variables, loops, functions).
80+
81+
## Contributing
82+
83+
If you update content:
84+
85+
- Keep learning order stable (`class-01` -> `class-02` -> project).
86+
- Keep solution files separate from exercise files.
87+
- Prefer small, focused PRs with clear educational intent.
88+
89+
## Student Export Script
90+
91+
Generate release-ready student packs with Day 1 and Day 2 separated, and all solutions excluded:
92+
93+
```bash
94+
bash scripts/export-student-packages.sh
95+
```
96+
97+
Optional custom output directory:
98+
99+
```bash
100+
bash scripts/export-student-packages.sh ./dist/student-release
101+
```
102+
103+
Output structure:
104+
105+
```text
106+
dist/student-exports/<timestamp>/
107+
├── day-01/
108+
├── day-02/
109+
├── day-01.zip
110+
└── day-02.zip
111+
```
112+
113+
## License
114+
115+
This repository is licensed under the [MIT License](LICENSE).

curriculum/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Curriculum Index
2+
3+
## Class 1
4+
5+
- [Cheat Sheet](class-01/cheatsheet.md)
6+
- [Exercises](class-01/exercises.md)
7+
- [Solutions](class-01/solutions.md)
8+
9+
## Class 2
10+
11+
- [Cheat Sheet](class-02/cheatsheet.md)
12+
- [Exercises](class-02/exercises.md)
13+
- [Solutions](class-02/solutions.md)
14+
15+
## Cross-Class Reference
16+
17+
- [Combined Cheat Sheet](references/combined-cheatsheet.md)

0 commit comments

Comments
 (0)