diff --git a/Projects/3-Advanced/Face-Recognition-Attendance-System-with-Engagement-Detection.md b/Projects/3-Advanced/Face-Recognition-Attendance-System-with-Engagement-Detection.md new file mode 100644 index 00000000..bec450aa --- /dev/null +++ b/Projects/3-Advanced/Face-Recognition-Attendance-System-with-Engagement-Detection.md @@ -0,0 +1,36 @@ +# Face Recognition Attendance System With Engagement Detection + +**Tier:** 3-Advanced + +Attendance tracking in classrooms is time-consuming and prone to human error. This system automates this process using real-time face recognition, detecting not only who is present but also whether students are engaged — flagging behaviors like phone usage and sleeping with snapshot evidence. + +This project challenges the developer to combine computer vision, a real-time web interface, and session-based reporting into a single cohesive system. + +## User Stories + +* User can start a live camera session that detects and recognizes faces in real time +* User can register student faces into the system before a session begins +* User views a live dashboard showing attendance status for each recognized student +* User can see flagged events (phone usage, sleeping) with timestamps and snapshot images +* User can export attendance records for a session as a CSV file +* Attendance is automatically marked absent when a flagged behavior is detected + +## Bonus features + +* User can set a minimum attendance threshold and receive an alert when a student falls below it +* User can view session history with per-student engagement scores over time +* User can support multiple classrooms with separate student rosters +* Admin can add or remove students from the system without restarting the server +* System sends an email or SMS notification to flagged students after a session + +## Useful links and resources + +* [OpenCV Haar Cascade face detection](https://docs.opencv.org/4.x/db/d28/tutorial_cascade_classifier.html) +* [LBPH face recognizer](https://docs.opencv.org/4.x/df/d25/classcv_1_1face_1_1LBPHFaceRecognizer.html) +* [YOLOv8 object detection](https://docs.ultralytics.com/) +* [Flask-SocketIO for real-time communication](https://flask-socketio.readthedocs.io/) +* [Head pose estimation with OpenCV](https://learnopencv.com/head-pose-estimation-using-opencv-and-dlib/) + +## Example projects + +* [Face Recognition Attendance System with Engagement Detection](https://github.com/nhsync/Face-Recognition-Attendance-System-With-Engagement-Detection) diff --git a/Projects/3-Advanced/Poker-Night.md b/Projects/3-Advanced/Poker-Night.md new file mode 100644 index 00000000..d512e450 --- /dev/null +++ b/Projects/3-Advanced/Poker-Night.md @@ -0,0 +1,45 @@ +# Poker Night + +**Tier:** 3-Advanced + +Multiplayer card games require careful state management, real-time +communication, and fair game logic running server-side. Poker Night is +a fully browser-based Texas Hold'em game supporting 2 to 8 concurrent +players with no database dependency — all game state lives in memory +and is synchronized via WebSockets. + +This project challenges the developer to implement a complete poker hand +evaluator, a turn-based state machine, and a real-time multiplayer +experience from scratch. + +## User Stories + +* User can create a game room and share a room code with friends +* User can join an existing room using a room code +* User sees their own hole cards and the shared community cards on the table +* User can perform all standard poker actions: fold, check, call, raise +* User views a live list of all players, their chip counts, and current bet +* User is shown the winner and their hand rank at the end of each round +* Game enforces turn order and rejects out-of-turn actions +* Game supports 2 to 8 players in a single room + +## Bonus features + +* User can set a starting chip count and blind structure when creating a room +* Spectator mode allows users to watch a game without playing +* User sees an animated card deal and chip movement for each action +* Game handles disconnections gracefully by auto-folding the disconnected player +* User can view a hand history log for the current session +* Leaderboard tracks chip counts across multiple rounds in a session + +## Useful links and resources + +* [Texas Hold'em rules](https://www.pokerstars.com/poker/games/texas-holdem/) +* [Poker hand rankings](https://en.wikipedia.org/wiki/List_of_poker_hands) +* [Socket.IO documentation](https://socket.io/docs/v4/) +* [Building a card game state machine](https://statecharts.dev/) +* [Evaluating poker hands programmatically](https://medium.com/@geekgirl907/poker-hand-evaluator-54a00c8e3b3d) + +## Example projects + +* [Poker Night](https://github.com/nhsync/poker-night) diff --git a/README.md b/README.md index c54bfa41..00f0757b 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,7 @@ required to complete them. | Name | Short Description | Tier | | ----------------------------------------------------------------------------- | ------------------------------------------------------------------- | ---------- | +| [Attedance Sys.](./Projects/3-Advanced/Face-Recognition-Attendance-System.md) | Face recognition attendance with engagement detection | 3-Advanced | | [Battleship Bot](./Projects/3-Advanced/Battleship-Bot.md) | Create a Discord bot that plays Battleship | 3-Advanced | | [Battleship Game Engine](./Projects/3-Advanced/Battleship-Game-Engine.md) | Create a callable engine to play the Battleship game | 3-Advanced | | [Boole Bots Game](./Projects/3-Advanced/Boole-Bot-Game.md) | Battling Bots driven by Boolean algebra | 3-Advanced | @@ -135,6 +136,7 @@ required to complete them. | [Movie App](./Projects/3-Advanced/Movie-App.md) | Browse, Find Ratings, Check Actors and Find you next movie to watch | 3-Advanced | | [MyPodcast Library](./Projects/3-Advanced/MyPodcast-Library-app.md) | Create a library of favorite podcasts | 3-Advanced | | [NASA Exoplanet Query](./Projects/3-Advanced/NASA-Exoplanet-Query.md) | Query NASA's Exoplanet Archive | 3-Advanced | +| [Poker Night](./Projects/3-Advanced/Poker-Night.md) | Build a real-time multiplayer Texas Hold'em game engine | 3-Advanced | | [Shell Game](./Projects/3-Advanced/Shell-Game.md) | Animated shell game | 3-Advanced | | [Shuffle Deck](./Projects/3-Advanced/Shuffle-Deck-App.md) | Evaluate different algorithms for shuffling a card deck | 3-Advanced | | [Slack Archiver](./Projects/3-Advanced/Slack-Archiver.md) | Archive Slack Messages | 3-Advanced |