Skip to content

Repository files navigation

Project X

A cross-platform desktop application built with Electron and React, featuring secure authentication and state management with Zustand.

✨ Features

  • Secure authentication: Login/signup system with cookie management
  • Electron architecture: Cross-platform desktop application
  • State management: State handling with Zustand
  • IPC communication: Secure communication between Electron processes
  • API integration: Connects to a backend API for data synchronization

🚀 Technologies Used

Frontend

  • React - User interface
  • TypeScript - Static typing
  • React Router DOM - Navigation
  • Zustand - State management
  • Modern CSS - Custom styles

Backend/Desktop

  • Electron - Desktop framework
  • Node.js - JavaScript runtime
  • IPC (Inter-Process Communication) - Process communication

Development Tools

  • Electron Vite - Build and development
  • ESLint - Code linting
  • Prettier - Code formatting
  • Electron Builder - Application packaging

📋 Prerequisites

  • Node.js (version 18 or higher)
  • npm or yarn

🛠️ Installation

  1. Clone the repository
git clone <repository-url>
cd project-x
  1. Install dependencies
npm install
  1. Environment configuration
cp .env.example .env

Edit the .env file and set your API_BASE_URL.

🎮 Available Scripts

Development

npm run dev          # Start the app in development mode
npm run start        # Start the app in preview mode

Build and Distribution

npm run build        # Build the application
npm run build:win    # Build for Windows
npm run build:mac    # Build for macOS
npm run build:linux  # Build for Linux
npm run build:unpack # Build without packaging

Code Quality

npm run lint         # Run ESLint checks
npm run format       # Format code with Prettier
npm run typecheck    # Run TypeScript checks

📁 Project Structure

src/
├── main/                    # Electron main process
│   ├── controllers/         # API controllers
│   ├── services/            # Services (API, cookies)
│   ├── utils/               # Utilities
│   └── index.ts             # Main entry point
├── preload/                 # Electron preload scripts
├── renderer/                # React user interface
│   └── src/
│       ├── components/      # React components
│       ├── pages/           # App pages
│       ├── store/           # Zustand state management
│       ├── guards/          # Authentication guards
│       └── router/          # Router configuration
└── types/                   # Shared TypeScript definitions

🔐 Authentication Features

The app includes a complete authentication system:

  • Signup: Create new user accounts
  • Login: Secure authentication
  • Session management: Secure HttpOnly cookies
  • Protected routes: Controlled access to features
  • Automatic verification: Authentication validation on startup

📝 License

This project is licensed under GPL-3.0-only. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages