Skip to content

Repository files navigation

Internship Tracking System (Staj Takip Sistemi)

A secure, desktop-based application built with Electron and React to manage student internship records efficiently. The application allows institutions to add, update, track, and import large batches of student internship data using an embedded SQLite database.

🚀 Features

  • Student Management: Add, update, and delete student internship records.
  • Bulk CSV Import: Easily import student records from CSV files with automatic field mapping and data validation.
  • Data Validation & Security: Built-in validation for identity numbers (TC Kimlik), student numbers, and names, along with security logging.
  • Offline & Local: Runs completely locally with an embedded SQLite database (better-sqlite3) to ensure data privacy.
  • Modern UI: Built using React for a fast and responsive user experience.
  • Easy Packaging: Packaged as a standalone Windows executable using electron-builder.

🛠️ Technology Stack

  • Frontend: React (in the client directory)
  • Backend/Desktop: Electron, Node.js
  • Database: SQLite (better-sqlite3)
  • Data Processing: csv-parse for robust CSV handling
  • Build Tool: electron-builder

📥 Download & Test (Releases)

You can download the latest working .exe file from the Releases section of this repository to test the application directly.

Note on Windows "Unknown Publisher" Warning: When you run the application for the first time, Windows SmartScreen may display an "Unknown Publisher" warning. This is completely normal and happens because the executable is not signed with a paid digital certificate. You can safely bypass this by clicking "More info" and then "Run anyway".

⚙️ Installation and Setup

Prerequisites

  • Node.js (v16 or higher recommended)
  • npm or yarn

Running Locally

  1. Clone or download the repository.
  2. Install the main dependencies:
    npm install
  3. Install the client (React) dependencies:
    cd client
    npm install
    cd ..
  4. Start the application in development mode:
    npm run react-build
    # Or to just start Electron if the React build is already present:
    npm start

📦 Building for Production

To create a standalone portable Windows executable:

npm run build

This will build the React client and package the Electron app using electron-packager (as configured in scripts). You can also use npm run electron-build to package with electron-builder. Output files will be located in the builds or dist directories.

🔒 Security Features

  • Strict Input validation for sensitive fields (e.g. Identity numbers).
  • Content Security Policy (CSP) headers enabled.
  • Context Menu & DevTools are disabled in the production environment.
  • Centralized security logging (security-logger.js).

📄 License

ISC License

About

A secure, desktop-based application built with Electron and React to manage student internship records efficiently. The application allows institutions to add, update, track, and import large batches of student internship data using an embedded SQLite database.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages