Skip to content

Zerraf-Badreddine/Notely

Repository files navigation

Notely - Academic Note-Taking Platform

A modern, privacy-focused desktop application for organizing academic notes with professional LaTeX and Markdown support

FeaturesDownloadGetting StartedDocumentationTech Stack


Overview

Notely is a powerful desktop application built for students and academics who need a reliable, offline-first note-taking solution. Combining the simplicity of Markdown with the power of LaTeX mathematical typesetting, Notely helps you organize your academic life across multiple years, semesters, and modules—all while keeping your data private and secure on your local machine.

Unlike cloud-based alternatives, Notely runs entirely on your computer with no account required, no subscriptions, and complete privacy.

Key Features

Academic Organization

  • Multi-year structure - Organize content across multiple academic years
  • Semester-based - Two semesters per year with flexible module organization
  • Color-coded modules - Visual organization with customizable module colors
  • Module codes - Professional labeling system (e.g., CS101, MATH201)

Powerful Note-Taking

  • Markdown support - Full GitHub Flavored Markdown (GFM) with tables, lists, and more
  • LaTeX mathematics - Beautiful equation rendering with KaTeX
  • Real-time preview - Split-screen editor with instant rendering
  • Multiple note types - Lectures, Labs, Tutorials, and Extra Exercises

Advanced Features

  • Quick search - Full-text search across all notes (Ctrl+K / Cmd+K)
  • File attachments - Upload PDFs, images, and documents to any note
  • Export options - Download notes as Markdown (.md) or LaTeX (.tex)
  • Auto-save - Never lose your work with automatic local persistence

Privacy & Performance

  • 100% offline - No internet connection required
  • No accounts - No registration, no login, no tracking
  • Local-first - All data stored on your computer
  • Fast & responsive - Built with modern web technologies for optimal performance

Download & Install

For Users (Releases)

  1. Download the latest release from the Releases page

    • Windows: Notely-Setup-1.0.0.exe
  2. Install the application

    • Run the installer and follow the setup wizard
    • Requires administrator privileges
  3. Launch Notely from Start Menu or Desktop shortcut

System Requirements

  • Windows 10 or later (64-bit)

File Locations

  • Application: C:\Program Files\Notely\
  • Your Data: C:\Users\[YourUsername]\AppData\Roaming\notely\Notely-Workspace\
  • Quick Access: Press Win+R, type %APPDATA%\notely\Notely-Workspace

Getting Started

For Developers

Prerequisites

  • Node.js 18.x or higher
  • npm or yarn package manager

Installation

  1. Clone the repository

    git clone https://github.com/Zerraf-Badreddine/Notely.git
    cd Notely
  2. Install dependencies

    npm install
  3. Run in development mode

    npm run dev          # Web version
    npm run electron:dev # Desktop version
  4. Build for production

    npm run build        # Web build
    npm run release      # Desktop build (all platforms)

Quick Usage Guide

  1. Create your first year - Click the + button next to "Academic Years"
  2. Add a module - Expand a semester and click "Add Module"
  3. Create a note - Select a note type (Lecture, Lab, etc.) and click "New Note"
  4. Start writing - Use Markdown for text, LaTeX for math equations
  5. Search anytime - Press Ctrl+K to quickly find any note

Documentation

Markdown Support

# Headers
## Subheaders

**Bold text** and *italic text*

- Bullet lists
- With items

1. Numbered lists
2. Sequential items

[Links](https://example.com)
![Images](path/to/image.png)

`inline code` and code blocks:
```python
def hello():
    print("Hello, World!")
Tables Are Supported
Col 1 Col 2 Col 3

### LaTeX Math

```latex
Inline math: $E = mc^2$

Display math:
$$
\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$

Common symbols:
$\alpha, \beta, \gamma, \sum_{i=1}^{n}, \frac{a}{b}, \sqrt{x}$

Keyboard Shortcuts

Shortcut Action
Ctrl+K / Cmd+K Open search
Ctrl+S / Cmd+S Save note
Esc Close modal/search

Tech Stack

Core Technologies

Key Libraries

Development Tools

Project Structure

notely/
├── app/                    # Next.js app directory
│   ├── globals.css        # Global styles
│   ├── layout.tsx         # Root layout
│   ├── page.tsx           # Main page
│   └── providers.tsx      # Context providers
├── components/            # React components
│   ├── Sidebar.tsx       # Navigation sidebar
│   ├── ModuleView.tsx    # Module detail view
│   ├── NoteEditor.tsx    # Note editor with preview
│   └── ...
├── store/                # State management
│   ├── academicStore.ts  # Main app state
│   └── settingsStore.ts  # Settings state
├── types/                # TypeScript definitions
├── electron/             # Electron main process
│   ├── main.js          # Electron entry point
│   └── preload.js       # Preload scripts
├── __tests__/           # Test files
└── public/              # Static assets

Testing

Run the test suite:

npm test              # Run all tests
npm run test:watch    # Run in watch mode

Building & Releasing

Build Commands

# Development
npm run dev                 # Start Next.js dev server
npm run electron:dev        # Start Electron in dev mode

# Production builds
npm run build              # Build Next.js app
npm run electron:build     # Build Electron app
npm run release            # Full production build

# Version bumping
npm run release:patch      # Bump patch version (1.0.0 -> 1.0.1)
npm run release:minor      # Bump minor version (1.0.0 -> 1.1.0)
npm run release:major      # Bump major version (1.0.0 -> 2.0.0)

Release Process

  1. Update version in package.json or use version bump scripts
  2. Commit changes and create a git tag
    git add .
    git commit -m "Release v1.0.0"
    git tag v1.0.0
    git push && git push --tags
  3. Build the application
    npm run release
  4. Find installers in the dist/ directory
  5. Upload to GitHub Releases and add release notes

Build Output

After building, find the installer in dist/:

  • Windows: Notely Setup 1.0.0.exe

Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Write tests for new features
  • Maintain the existing code style
  • Update documentation as needed
  • Test on multiple platforms before submitting PR

Known Issues & Limitations

  • Browser storage limit (~10MB) for web version
  • Large attachments may affect performance
  • No cloud sync (by design - privacy-focused)
  • Desktop app size (~150MB) due to Electron

Roadmap

Planned Features

  • Dark mode theme
  • Export to PDF
  • Note templates
  • Advanced search filters
  • Custom keyboard shortcuts
  • Note linking/references
  • Tags and labels
  • Statistics dashboard

License

This project is licensed under the MIT License - see the LICENSE file for details.

You are free to:

  • Use commercially
  • Modify and distribute
  • Use privately
  • Use for patent claims

Author

Badreddine Zerraf

Acknowledgments

  • Built with modern web technologies
  • Inspired by note-taking apps like Notion and Obsidian
  • Icons by Lucide
  • Math rendering by KaTeX

Support


Built with love for students who love organized notes

If you find Notely useful, please consider giving it a star on GitHub!

About

Offline academic note-taking app with multi-year organization, LaTeX rendering, and file attachments

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors