Skip to content
This repository was archived by the owner on May 26, 2026. It is now read-only.

Raulms29/Slate-Note-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

124 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slate Note App Screenshot

Slate App Icon Slate

Quality Gate Coverage Coverage
User Manual Node

A cross-platform desktop note-taking application for organizing your thoughts and projects.
Developed as a Bachelor's Thesis project at the University of Oviedo.

Built with Electron, Vue 3, and TypeScript for Windows, macOS, and Linux.


Quick Start GuideRunning the ApplicationTestingScriptsProject StructureUser Manual


📥 Quick Start Guide

Clone the repository:

git clone https://github.com/Raulms29/Slate-Note-App.git
cd Slate-Note-App

Then install the dependencies:

npm ci

▶️ Running the Application

Development Mode

Start the application in development mode with hot-reload:

npm run dev

Build & Package

Create production builds and installers:

npm run build

This will:

  • Compile the project and package the application
  • Create the installer in the out/make directory

🧪 Testing

Running Tests

Run all unit tests:

npm run test

Run end-to-end tests:

npm run test:e2e

Generate coverage report:

npm run test:coverage

Coverage report will be generated in the coverage folder.

Environment Variables

To enable E2E testing, create a .env file in the root directory:

ENABLE_WDIO=false  # Set to 'true' to enable WebDriver integration for E2E testing

📜 Scripts

Script Description
npm run dev Start development server
npm run build Build production application
npm run package Package application (no installer)
npm run test Run all unit tests
npm run test:e2e Run end-to-end tests
npm run test:coverage Generate coverage report
npm run clean Remove build artifacts
npm run lint Lint TypeScript files

📁 Project Structure

├── src/
│   ├── main.ts              # Electron main process
│   ├── preload.ts           # Preload script for IPC
│   ├── renderer.ts          # Vue app entry point
│   ├── business/            # Business logic layer
│   │   ├── domain/          # Domain models (Note, Workspace, Settings)
│   │   └── service/         # Services (NoteService, WorkspaceService, etc.)
│   ├── components/          # Vue components
│   │   ├── editor/          # Editor components and extensions
│   │   ├── generic/         # Reusable UI components
│   │   ├── sidebar/         # Sidebar navigation
│   │   └── workspace/       # Workspace management
│   ├── persistence/         # Data persistence layer
│   │   └── repository/      # Repository implementations
│   ├── router/              # Vue Router configuration
│   ├── stores/              # Pinia state management
│   ├── styles/              # Global styles and themes
│   ├── utils/               # Utility functions and IPC handlers
│   └── views/               # Main application views
├── test/                    # Test suites
│   ├── unit/                # Unit tests
│   ├── components/          # Component tests
│   └── e2e/                 # End-to-end tests
├── forge.config.ts          # Electron Forge configuration
└── vite.*.config.ts         # Vite configuration files

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors