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..98a1d840 --- /dev/null +++ b/Projects/3-Advanced/Face Recognition Attendance System with Engagement Detection.md @@ -0,0 +1,40 @@ +# Face Recognition Attendance System with Engagement Detection + +**Tier:** 3-Advanced + +Attendance tracking in classrooms is time-consuming and prone to human error. +Presenz 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)