A cross-platform desktop application built with Electron and React, featuring secure authentication and state management with Zustand.
- 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
- React - User interface
- TypeScript - Static typing
- React Router DOM - Navigation
- Zustand - State management
- Modern CSS - Custom styles
- Electron - Desktop framework
- Node.js - JavaScript runtime
- IPC (Inter-Process Communication) - Process communication
- Electron Vite - Build and development
- ESLint - Code linting
- Prettier - Code formatting
- Electron Builder - Application packaging
- Node.js (version 18 or higher)
- npm or yarn
- Clone the repository
git clone <repository-url>
cd project-x- Install dependencies
npm install- Environment configuration
cp .env.example .envEdit the .env file and set your API_BASE_URL.
npm run dev # Start the app in development mode
npm run start # Start the app in preview modenpm 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 packagingnpm run lint # Run ESLint checks
npm run format # Format code with Prettier
npm run typecheck # Run TypeScript checkssrc/
├── 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
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
This project is licensed under GPL-3.0-only. See the LICENSE file for details.