<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Med Amine</title>
    <description>The latest articles on DEV Community by Med Amine (@necro_pc).</description>
    <link>https://dev.to/necro_pc</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2279441%2F6b9fbfbc-4f6f-41d6-ab6d-dfa9d1a549e3.png</url>
      <title>DEV Community: Med Amine</title>
      <link>https://dev.to/necro_pc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/necro_pc"/>
    <language>en</language>
    <item>
      <title>The Groundbreaking Schools Attendance Records Management System (ARMS)</title>
      <dc:creator>Med Amine</dc:creator>
      <pubDate>Sun, 29 Jun 2025 13:42:07 +0000</pubDate>
      <link>https://dev.to/necro_pc/attendance-records-managements-system-arms-for-schools-3gc</link>
      <guid>https://dev.to/necro_pc/attendance-records-managements-system-arms-for-schools-3gc</guid>
      <description>&lt;h1&gt;
  
  
  Building ARMS – A better Attendance Records (or Record) Management System
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Hello everyone! I'm Mohammed the same dev of Xuploads, I’m excited to share a project I’ve been developing for quite some time — &lt;strong&gt;ARMS (Attendance Record Management System)&lt;/strong&gt;. It’s a system designed to streamline the way schools handle attendance, replacing the outdated, error-prone methods with a smarter, faster, and more reliable alternative.&lt;/p&gt;

&lt;p&gt;This post covers the &lt;strong&gt;purpose&lt;/strong&gt;, &lt;strong&gt;features&lt;/strong&gt;, &lt;strong&gt;technical architecture&lt;/strong&gt;, and some &lt;strong&gt;lessons learned&lt;/strong&gt; along the way.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why ARMS?
&lt;/h2&gt;

&lt;p&gt;In many schools, attendance tracking is still handled manually — either using paper sheets or basic spreadsheets. That leaves a lot of room for mistakes, manipulation, and lost records. I’ve personally seen how chaotic it can get, especially when multiple classes are running in parallel or when attendance data is needed for reports.&lt;/p&gt;

&lt;p&gt;The idea behind &lt;strong&gt;ARMS&lt;/strong&gt; is to provide a &lt;strong&gt;centralized, secure, and intelligent system&lt;/strong&gt; that schools can use to automate attendance tracking with as little friction as possible.&lt;/p&gt;




&lt;h2&gt;
  
  
  System Overview
&lt;/h2&gt;

&lt;p&gt;ARMS is made up of three main parts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The ARMS API&lt;/strong&gt; – A .NET Framework backend (ASP.NET) that handles all the logic for sessions, attendance records, authentication, logs, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Desktop Application&lt;/strong&gt; – A Windows-based GUI app built with VB.NET (Guna2 UI), used by administrators and staff to manage data, view attendance reports, and configure the system (works under WINE) with some UI bugs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Attendance Devices&lt;/strong&gt; – Can be mobile phones, Raspberry Pi, or any device capable of sending RESTful HTTP requests (via RFID, QR codes, or biometric input).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The system is &lt;strong&gt;multi-language (Arabic + English)&lt;/strong&gt;, &lt;strong&gt;internet-accessible&lt;/strong&gt;, and &lt;strong&gt;multi-device-friendly&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;p&gt;Here’s what ARMS currently offers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smart Session Handling&lt;/strong&gt;: Teachers start class sessions, and the system marks all students absent by default. As students scan their ID (via RFID or QR), their attendance is corrected automatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Late Arrival Logic&lt;/strong&gt;: Each subject has a customizable grace period. Arriving after that marks the student as late, not absent.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Role-Based Access&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Teachers only see their own sessions and classes.&lt;/li&gt;
&lt;li&gt;Admins get full control over schedules, users, attendance logs, and exceptions.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Timetable Management&lt;/strong&gt;: The school director can set schedules and assign classes and subjects to specific days and times.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Statistics &amp;amp; Reporting&lt;/strong&gt;: Visual charts and detailed logs allow staff to see absence patterns and generate reports.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Parent Notification&lt;/strong&gt; &lt;em&gt;(in progress)&lt;/em&gt;: Absence alerts will be sent to parents via email at the end of the day.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Device Management&lt;/strong&gt;: Each attendance device can be assigned to specific classes. Devices can be enabled/disabled remotely.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Extension Support&lt;/strong&gt;: ARMS supports an extension system using interfaces, so new features (like QR scanning, fingerprint support, etc.) can be added without changing the core logic.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Remote API&lt;/strong&gt;: The API is secured and supports remote access, making it ideal for schools with limited local networking infrastructure.&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: ASP.NET (.NET Framework)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend (Admin)&lt;/strong&gt;: VB.NET WinForms (Guna UI 2)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database&lt;/strong&gt;: SQL Server (hosted locally or in the cloud)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language Support&lt;/strong&gt;: Arabic &amp;amp; English (fully switchable UI)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API Communication&lt;/strong&gt;: JSON over HTTP (RESTful endpoints)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Architecture&lt;/strong&gt;: Layered architecture with full async support on the API side&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Under the Hood
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sessions&lt;/strong&gt; are created by staff and linked to classes and subjects.&lt;/li&gt;
&lt;li&gt;Attendance records are updated &lt;strong&gt;in real-time&lt;/strong&gt; as students scan their RFID/QR/ID.&lt;/li&gt;
&lt;li&gt;Every major action (session start, student scan, admin edit) is &lt;strong&gt;logged&lt;/strong&gt; for audit purposes.&lt;/li&gt;
&lt;li&gt;Extensions implement a common interface and can be loaded dynamically — for example, you could add a fingerprint scanner extension without modifying the API or desktop app.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Deployment &amp;amp; Updates
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The Windows desktop app includes a &lt;strong&gt;built-in updater&lt;/strong&gt; it called 'ARMSUpdater'. It pulls the latest version info from a server and displays changelogs before updating.&lt;/li&gt;
&lt;li&gt;API rate limiting and logging are implemented to ensure performance and traceability.&lt;/li&gt;
&lt;li&gt;All database operations are done &lt;strong&gt;asynchronously&lt;/strong&gt; to avoid locking or bottlenecks.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Future Plans
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Daily Attendance Summary Emails&lt;/strong&gt; to parents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Student Self-Registration Mode&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Third-party integrations&lt;/strong&gt; (e.g., school management systems, Google Calendar)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mobile Web Interface&lt;/strong&gt; for teachers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloud-ready version&lt;/strong&gt; with multitenancy support (for multiple schools on the same server)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;ARMS has been a challenging but rewarding project. It's not just about tracking who showed up — it's about making school management more &lt;strong&gt;efficient&lt;/strong&gt;, &lt;strong&gt;accountable&lt;/strong&gt;, and &lt;strong&gt;modern&lt;/strong&gt;. I've built it with real-world use in mind, based on feedback from actual school staff and administrators.&lt;/p&gt;

&lt;p&gt;If you're working on similar systems or have ideas for improvements, I’d love to hear your thoughts!&lt;/p&gt;




&lt;h2&gt;
  
  
  GitHub &amp;amp; Demo
&lt;/h2&gt;

&lt;p&gt;This is still a private project under active development, but I’m considering open-sourcing parts of it (like the extension system or attendance logic) once I clean them up.&lt;/p&gt;

&lt;p&gt;Feel free to reach out if you're interested in contributing or testing it in a real-world environment.&lt;/p&gt;




&lt;p&gt;Thanks for reading! &lt;/p&gt;

&lt;p&gt;Let me know what you think in the comments.&lt;/p&gt;




</description>
    </item>
    <item>
      <title>My first project 'Xuploads'</title>
      <dc:creator>Med Amine</dc:creator>
      <pubDate>Sat, 26 Oct 2024 10:28:42 +0000</pubDate>
      <link>https://dev.to/necro_pc/my-first-project-xuploads-3opk</link>
      <guid>https://dev.to/necro_pc/my-first-project-xuploads-3opk</guid>
      <description>&lt;p&gt;This is my first project, it's a web app for uploading, downloading and sharing file, developed using VB.net (ASP.NET)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Xuploads: A Feature-Rich, Secure, and Customizable File Upload Platform&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Xuploads is a powerful file-sharing platform built for control, flexibility, and security. With no accounts required, users can enjoy a streamlined upload experience where every file is managed individually with advanced security options and customizable settings. Xuploads combines ease of use with robust functionality to make file management seamless.
&lt;/h2&gt;

&lt;p&gt;Key Features:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;File upload: Allows users to upload files to the server with options for customization like password protection and expiration.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;File download: Users can download uploaded files through unique, secure links provided after the upload.&lt;/li&gt;
&lt;li&gt;Password protection for files: Adds a password requirement for accessing a file, ensuring only authorized users can download it.&lt;/li&gt;
&lt;li&gt;One-time download links: Generates a link that can only be used once for downloading a file, enhancing security.&lt;/li&gt;
&lt;li&gt;File expiration: Sets a specific duration for how long a file remains accessible. Once expired, the file is automatically deleted.&lt;/li&gt;
&lt;li&gt;VirusTotal file scanning: Scans uploaded files for malware or viruses and deletes flagged files to ensure safety.&lt;/li&gt;
&lt;li&gt;File renaming: Allows users to change the displayed name of the uploaded file without affecting its functionality.&lt;/li&gt;
&lt;li&gt;File replacement: Lets users upload a new version of a file while retaining its original link and metadata.&lt;/li&gt;
&lt;li&gt;QR code generation for links: Creates QR codes for download links, making it easier to share files via mobile devices.&lt;/li&gt;
&lt;li&gt;View tracking: Records the number of times a file is accessed or viewed.&lt;/li&gt;
&lt;li&gt;Download tracking: Tracks the number of times a file is downloaded for analytics or user monitoring.&lt;/li&gt;
&lt;li&gt;Upload from URL: Allows users to upload files directly from an external link instead of their local device.&lt;/li&gt;
&lt;li&gt;Multiple file downloads as ZIP: Enables users to download multiple files in a single compressed ZIP file for convenience.&lt;/li&gt;
&lt;li&gt;Allowed/disallowed file extensions: Restricts or permits specific file types to ensure compliance with upload policies.&lt;/li&gt;
&lt;li&gt;File size limits: Sets a maximum allowable size for uploaded files to prevent server overload or abuse.&lt;/li&gt;
&lt;li&gt;Inactive file deletion: Automatically deletes files that haven’t been accessed for a predefined period.&lt;/li&gt;
&lt;li&gt;Maintenance mode: Temporarily disables the upload and download functionalities during maintenance or updates.&lt;/li&gt;
&lt;li&gt;Additional header and footer: Adds consistent navigation and branding elements to all pages for a polished look.&lt;/li&gt;
&lt;li&gt;Bootstrap design integration: Enhances the user interface with a modern, responsive design using the Bootstrap framework.&lt;/li&gt;
&lt;li&gt;Error handling improvements: Provides clearer error messages and resolves issues for a smoother user experience.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;Introducing XUAPI&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;XUAPI (Xuploads API) is an extension of the Xuploads platform that empowers developers to integrate its functionality into their applications. Released as a part of the Xuploads project, XUAPI brings automation and scalability to file management.&lt;/p&gt;

&lt;p&gt;Current Features of XUAPI&lt;br&gt;
File Upload from a Link: Allows developers to upload files directly from a URL, making it perfect for automating workflows.&lt;br&gt;
File Upload from a Posted File: Supports uploading files via HTTP POST requests, enabling seamless integration with external applications.&lt;br&gt;
Metadata Control: Developers can specify file expiry dates and descriptions during uploads.&lt;br&gt;
Flexible Configurations: XUAPI works seamlessly with Xuploads, supporting different upload locations and configurations for specific needs.&lt;br&gt;
Planned Features&lt;br&gt;
Deletion Method: Future updates will include API support for deleting files programmatically, enhancing remote file management capabilities.&lt;/p&gt;

&lt;p&gt;Why Choose Xuploads? Xuploads is perfect for users who need a secure, flexible, and customizable file upload platform without the hassle of account management. From hobbyists to advanced users, Xuploads brings a seamless solution to file hosting with full control over shared content.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;it's an open-source project with MIT-License, hosted on GITHUB.
&lt;a href="https://github.com/NecroPC18/Xuploads" rel="noopener noreferrer"&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
