Share My Creation Employee Attendance System

Employee Attendance System​

This is a desktop and mobile-based system for managing employee attendance. It uses selfies with date, time, and location to record time-in and time-out. The system includes a mobile app for employees (built with B4A), a desktop admin panel (built with B4J), a RESTful API (using PHP-CRUD-API), and a MySQL database.
Employee Attendance system with B4J, B4A, and MySQL_1.jpg

Features​

Employee Mobile App (B4A)​

  • Login with employee credentials.
  • Time-in/time-out (once per day) with selfie, date, time, and location.
  • View profile and attendance history (by date range).
  • Logout.

Admin Panel (B4J)​

  • Login with admin credentials.
  • Manage departments, shifts, locations, and employees (employee creation).
  • Create and manage employee accounts.
  • Generate date-wise attendance reports.
  • Logout.

Backend API​

  • Handles data operations (CRUD) for the mobile app and admin panel.
  • Built with PHP-CRUD-API.

Database​

  • MySQL database to store departments, shifts, locations, employees, accounts, and attendance records (including selfies, date, time, and location).

Technologies​

TechnologyVersion/Requirements
PHP-CRUD-APIv2, requires PHP 7.2+ with PDO drivers enabled
MySQL5.7+ / MariaDB 10.0+ for spatial features
B4A13.10
B4J10.20
Web ServerApache (via XAMPP or similar)

Installation​

1. Set Up the Database​

  1. Install XAMPP and start Apache and MySQL.
  2. Access PHPMyAdmin (http://localhost/phpmyadmin).
  3. Create a new database named b4xattendance.
  4. Import the b4xattendance.sql file (located in the API and DB folder) to set up the database structure and data.

2. Set Up the API​

  1. Copy the api.php file (located in the API and DB folder) to the XAMPP htdocs directory (e.g., htdocs/api/).
  2. Open api.php in a text editor.
  3. Locate the configuration line (approximately line 12777) and update it with your MySQL server details:

  4. api.php, line 12777:
    $config = new Config([
        'driver' => 'mysql',
        'address' => 'localhost', // Your MySQL server address
        'port' => '3306',        // Your MySQL port
        'username' => 'root',    // Your MySQL username
        'password' => '',        // Your MySQL password
        'database' => 'b4xattendance',
        'debug' => true          // Change to false for production
    ]);
  5. Save the file.

3. Test the API​

  1. Open a browser or use a tool like Postman.
  2. Visit the following URL to test the API:
  3. If set up correctly, you should see data from the tbl_shift table.

4. Set Up the Mobile App (B4A)​

  1. Open the B4A project (located in the b4a folder) in the B4A IDE.
  2. In the app, access the API endpoint configuration option.
  3. Enter the API endpoint using your computer’s IPv4 address (e.g., http://192.168.1.x/api/api.php/records/). Note: B4A does not support localhost or 127.0.0.1. To find your IPv4 address, run ipconfig in the Command Prompt (Windows) and look for "IPv4 Address".
  4. Compile and deploy the app to an Android device.
  5. Test login with employee credentials created by the admin.

5. Set Up the Admin Panel (B4J)​

  1. Open the B4J project (located in the b4j folder) in the B4J IDE.
  2. In the panel, access the API endpoint configuration option.
  3. Enter the API endpoint (e.g., http://localhost/api/api.php/records/).
  4. Compile and run the admin panel.
  5. Log in with the default admin credentials:

6. Access the System​

  • Mobile App: Use an Android device to log in as an employee and record time-in/out with selfies.
  • Admin Panel: Run the B4J app on a desktop to create employees and manage the system.
  • API: Access at http://localhost/api/api.php/records/ for data operations.

Default Credentials​

  • Admin (B4J):
  • Employee (B4A): Created by the admin in the B4J panel.

Notes​

  • Employees must be created by the admin in the B4J panel.
  • The B4A app requires an Android device with camera and GPS for selfies and location.
  • Ensure the API is running on the web server for the mobile app and admin panel to function.
  • For production, secure the API with authentication and use HTTPS.
  • The b4xattendance.sql file contains the database structure and initial data.
  • The source code is for educational purposes and can be modified freely.

    Pricing and Payment​

    • Price:​

      • $15 until May 1, 2025 (promotional period).
      • $30 after promotional period
    • Payment Method: PayPal
    • Note: Contact the developer via PayPal or email for access to the source code after payment.
 
Last edited:

Sandman

Expert
Licensed User
Longtime User
Looks nice. It's an interesting feature with the photo at check-in and check-out. Is that something that is common in your part of the world, in other employee attendance systems? I don't think I've seen that before.
 

Abdull Cadre

Active Member
Licensed User
Looks nice. It's an interesting feature with the photo at check-in and check-out. Is that something that is common in your part of the world, in other employee attendance systems? I don't think I've seen that before.
I was actually inspired by the system we use at the company, we check in and out with selfies.
 

Xfood

Expert
Licensed User
great product, and beautiful graphics, interesting crud bees. congratulations
 

Cnrez

Member
Licensed User
Longtime User
Does it record GPS coordinate and location name from GPS ?
for reference and suggestion, check out Time Mark (free , no Ads)
 

amorosik

Expert
Licensed User
Congratulations for the very interesting project
Is there also an app for iOS or a web app that can also be used on Apple systems?
 

FatihCubukcu

Member
Licensed User
Longtime User
I’m interested in purchasing a product, but unfortunately PayPal is not available in my country. Could you please offer an alternative payment method?
 

marconotsopolo

Member
Licensed User

Employee Attendance System​

This is a desktop and mobile-based system for managing employee attendance. It uses selfies with date, time, and location to record time-in and time-out. The system includes a mobile app for employees (built with B4A), a desktop admin panel (built with B4J), a RESTful API (using PHP-CRUD-API), and a MySQL database.
View attachment 163652

Features​

Employee Mobile App (B4A)​

  • Login with employee credentials.
  • Time-in/time-out (once per day) with selfie, date, time, and location.
  • View profile and attendance history (by date range).
  • Logout.

Admin Panel (B4J)​

  • Login with admin credentials.
  • Manage departments, shifts, locations, and employees (employee creation).
  • Create and manage employee accounts.
  • Generate date-wise attendance reports.
  • Logout.

Backend API​

  • Handles data operations (CRUD) for the mobile app and admin panel.
  • Built with PHP-CRUD-API.

Database​

  • MySQL database to store departments, shifts, locations, employees, accounts, and attendance records (including selfies, date, time, and location).

Technologies​

TechnologyVersion/Requirements
PHP-CRUD-APIv2, requires PHP 7.2+ with PDO drivers enabled
MySQL5.7+ / MariaDB 10.0+ for spatial features
B4A13.10
B4J10.20
Web ServerApache (via XAMPP or similar)

Installation​

1. Set Up the Database​

  1. Install XAMPP and start Apache and MySQL.
  2. Access PHPMyAdmin (http://localhost/phpmyadmin).
  3. Create a new database named b4xattendance.
  4. Import the b4xattendance.sql file (located in the API and DB folder) to set up the database structure and data.

2. Set Up the API​

  1. Copy the api.php file (located in the API and DB folder) to the XAMPP htdocs directory (e.g., htdocs/api/).
  2. Open api.php in a text editor.
  3. Locate the configuration line (approximately line 12777) and update it with your MySQL server details:

  4. api.php, line 12777:
    $config = new Config([
        'driver' => 'mysql',
        'address' => 'localhost', // Your MySQL server address
        'port' => '3306',        // Your MySQL port
        'username' => 'root',    // Your MySQL username
        'password' => '',        // Your MySQL password
        'database' => 'b4xattendance',
        'debug' => true          // Change to false for production
    ]);
  5. Save the file.

3. Test the API​

  1. Open a browser or use a tool like Postman.
  2. Visit the following URL to test the API:
  3. If set up correctly, you should see data from the tbl_shift table.

4. Set Up the Mobile App (B4A)​

  1. Open the B4A project (located in the b4a folder) in the B4A IDE.
  2. In the app, access the API endpoint configuration option.
  3. Enter the API endpoint using your computer’s IPv4 address (e.g., http://192.168.1.x/api/api.php/records/). Note: B4A does not support localhost or 127.0.0.1. To find your IPv4 address, run ipconfig in the Command Prompt (Windows) and look for "IPv4 Address".
  4. Compile and deploy the app to an Android device.
  5. Test login with employee credentials created by the admin.

5. Set Up the Admin Panel (B4J)​

  1. Open the B4J project (located in the b4j folder) in the B4J IDE.
  2. In the panel, access the API endpoint configuration option.
  3. Enter the API endpoint (e.g., http://localhost/api/api.php/records/).
  4. Compile and run the admin panel.
  5. Log in with the default admin credentials:

6. Access the System​

  • Mobile App: Use an Android device to log in as an employee and record time-in/out with selfies.
  • Admin Panel: Run the B4J app on a desktop to create employees and manage the system.
  • API: Access at http://localhost/api/api.php/records/ for data operations.

Default Credentials​

  • Admin (B4J):
  • Employee (B4A): Created by the admin in the B4J panel.

Notes​

  • Employees must be created by the admin in the B4J panel.
  • The B4A app requires an Android device with camera and GPS for selfies and location.
  • Ensure the API is running on the web server for the mobile app and admin panel to function.
  • For production, secure the API with authentication and use HTTPS.
  • The b4xattendance.sql file contains the database structure and initial data.
  • The source code is for educational purposes and can be modified freely.

    Pricing and Payment​

    • Price:​

      • $15 until May 1, 2025 (promotional period).
      • $30 after promotional period
    • Payment Method: PayPal
    • Note: Contact the developer via PayPal or email for access to the source code after payment.
Payment sent Transaction ID: 16N89113UD4863059
 
Top