Giter VIP home page Giter VIP logo

masterplan's Introduction

MasterPlan

MasterPlan is a customizeable graphical project management software for independent users or small teams.

If you need to share plans across a whole company on an online platform, there are quite a few tools for that. However, if you want to keep track of your todo list, version control your project plan, make an ideaboard, and plan your project your way, MasterPlan is the tool for you.

Note that this is the code repo and internal-ish issue tracker for MasterPlan. Releases can be purchased from itch or Steam. You can build it yourself from this repository if you're familiar with Go.

History

A few days before the initial commit to this repository, I was working on an indie game, and thought I needed a tool to help me plan out the rest of it. I asked on Twitter for some suggestions of software to try, and found that while they were solid choices, they weren't as applicable to independent development as I would have liked. Most project management software is designed for use by a large team, or even a large company. The disadvantages of many project management tools available today can be due to the features they offer, as they may not be applicable to small teams:

  1. They’re cloud-based, and generally web-focused. This being the case, they usually require using a web browser to view, and so can be relatively heavy applications.
  2. Because of point 1, they may not offer a downloadable copy of their software. Even if they do, they might require hosting a server that serves you the management pages, or might require owning an account to use the application.
  3. They can be more complex than necessary to use by offering features that, while useful for larger organizations, are unnecessary for small teams or individual developers (for example, permissions, users, issue assignment, etc). This increases bloat and friction when it comes to learning and using the software.
  4. The data you create in these tools may not easily be version controlled, as the data for your project management lies elsewhere from your source code.

While these features (cloud-based, browser apps, etc.) can be beneficial for large groups of developers, they can also become sticking points for individuals or small teams. So, I decided to make a tool myself to help independent developers plan out projects such as these. And so, the result is a simple, compiled, downloadable application that stores project data on your computer. The project plan file are plain JSON text files, and can be easily committed to a version control system. The goal for MasterPlan is to make a project management and visual planning tool that is easy to use and extremely simple. I believe it is reaching this goal.

Building

MasterPlan is not quite fully free software, but the source is available here. If you wish to build MasterPlan or contribute to its development, I thank you, and welcome it.

To this end, I've made a build script in Go to simplify the building process. In general, it's easier to try running MasterPlan first (go run ./ in the project root), and if that works, building should generally succeed. The build script is located at build_script\main.go. The dependencies for building should be resolved automatically by go mod (so you should be using a recent version of Go with support for go.mod files). Just run:

> go run ./build_script/main.go -b

from the MasterPlan source directory to build. It should generate a folder named bin, and populate it with a directory with a release build for your OS and architecture, by default.

If you follow the necessary steps for cross-compilation from go-sdl2's instructions, you can also specify a target OS to build MasterPlan for that OS.

> go run ./build_script/main.go -b -os windows/amd64

Requirements

All requirements for building and running MasterPlan should be filled by the go.mod and the building process automatically on all platforms.

Linux additionally requires the use of zenity, qarma, or matedialog for opening file selection windows, and a X11 dev package (libx11-dev, xorg-dev, or libX11-devel) for clipboard copy-and-paste functions.

License

MasterPlan is copyright, All Rights Reserved, SolarLune Games 2019-2021.

Feel free to use the program itself and the generated plan files in the development of projects, commercial or otherwise, as that's the point of the tool, haha. You can also build MasterPlan yourself using the repo here, contribute to its development, and fork it freely, but you may not use any assets (graphics files, sound files, code, etc) from this repository in any commercial creations. Please also do not distribute builds of MasterPlan to others.

Special thanks to raysan5 for creating Raylib, as it was pretty key to the development of MasterPlan, and works rather well! Also thanks to the SDL development team, and the go-sdl2 maintenance team!

masterplan's People

Contributors

bnpfeife avatar damnwidget avatar danielkilgallon avatar exelotl avatar lachee avatar peter0x44 avatar skejeton avatar solarlune avatar theoratkin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

masterplan's Issues

Scaling is a bit small on 4K resolution

Hey there!

My laptop has a 4K monitor (and I tend to keep it at 4K resolution because its nice to look at, I guess). I downloaded the latest version of MasterPlan from Itch.io today, and I noticed its small scale. Note that this is a new laptop, so I'm not sure if this is a new issue or if it just hasn't been reported before.

Maybe there's a way to fix this already with a command line option? Maybe this is user error on my part?


I'm running Pop!_OS 20.10 (which is basically just a fancy Ubuntu).

License

Obviously this is your code and yours to do with as you please. But I am curious why you chose to make this proprietary since it has so little restrictions when building it yourself from what I understand. Of course you do not need to explain yourself however I was just curious.

Bug: task "overdue by" value skips a day

I'm seeing the following behaviour when setting a deadline on a task:

Current day = 17th
Deadline = 16th -> Overdue by 1 day
Deadline = 15th -> Overdue by 2 days
Deadline = 14th -> Overdue by 2 days
Deadline = 13th -> Overdue by 3 days
...

This might be related to the timer issue I logged in #50.

[Feature Request] Edit Brush Color For Map Painting

Hi!

This is a feature request that colored brushes be added to the map painting. I understand that changing the theme changes the color that the map brush uses, but if multiple colors need to be used, this unfortunately does not suffice.

I noticed that in the example they overlay images over the squares, but this is also a bit of a hassle if you just need a single color.

Example

map example

My suggestion is as follows:

  • In the top left, beside the box select, add a color select.
  • Whatever color is selected will be the color that is painted to the square.
  • A small color pallet of 5 or so simple colors would appear, and the user could select any.
  • If possible, have two boxes that can be set to any color, and a system to switch between them. Similar to "foreground and background color" systems in GIMP or Photoshop.

Example:
FG/BG select

Masterplan freezes

While running on Linux 20 Cinnamon, Masterplan (built from source) freezes randomly. Masterplan-demo also seems to freeze.
I see no log files being created.

These are my specs:

System:    Kernel: 5.4.0-54-generic x86_64 bits: 64 compiler: gcc v: 9.3.0 Desktop: Cinnamon 4.6.7 
           Distro: Linux Mint 20 Ulyana base: Ubuntu 20.04 focal 

CPU:   Topology: 6-Core model: Intel Core i7-9750H bits: 64 type: MT MCP arch: Kaby Lake rev: A 
           L2 cache: 12.0 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 62399 
           Speed: 1100 MHz min/max: 800/4500 MHz Core speeds (MHz): 1: 1200 2: 1200 3: 1200 4: 1200 5: 1200 
           6: 1200 7: 1200 8: 1200 9: 1200 10: 1200 11: 1200 12: 1200 
Graphics:  Device-1: Intel UHD Graphics 630 vendor: Gigabyte driver: i915 v: kernel bus ID: 00:02.0 
           Device-2: NVIDIA TU106M [GeForce RTX 2070 Mobile] driver: nvidia v: 450.80.02 bus ID: 01:00.0 
           Display: x11 server: X.Org 1.20.8 driver: modesetting,nvidia unloaded: fbdev,nouveau,vesa 
           resolution: 1920x1080~240Hz 
           OpenGL: renderer: GeForce RTX 2070 with Max-Q Design/PCIe/SSE2 v: 4.6.0 NVIDIA 450.80.02 
           direct render: Yes 

Thank you for this software. It is really nice.

Numbering Sequence Appears Set to "Off" on Boards 1+ on Project Load

If MasterPlan loads a file with a numbering sequence set, board 0 correctly displays the numbering sequence on the tasks, but the other boards appear to have the numbering sequence set to "Off." When the right-click menu is opened and closed, this fixes the currently displayed board, and when a task is set to be the focused task, this also fixes it, unless the task was focused because of cutting/copying and pasting, in which case, some weird stuff can happen:
image

Windows 10 64-bit
master branch (commit 40f188c), Build: windows_amd64

Bug: time until daily timer goes off is incorrect

When I create a timer and set the mode to daily, the timer calc is one hour behind my OS clock. I'm in the eastern time zone (utc -5) and we just had our DST clock change last Sunday, so it's likely related to that.

Multiple simultaneous plans

win 10:
trying to open a different plan while another plan is already open creates a second window with the previous (first) plan instead of the opened (second) plan.

apparently the behavior is that opening a .plan file from file explorer just starts masterplan, which simply loads the last open plan, instead of opening the .plan file with masterplan

my expected behavior would be that when i open .plan files from file explorer each of these .plan files is opened in separate windows, resulting in multiple different plans open at the same time for multi-tasking purposes (eventually with the ability to also copy tasks from one plan to another etc.)

Dependency resolution issue

Hi,

I'm interested in this project, however when I checked it out and went to resolve dependencies, go mod failed with:

go mod download
go: github.com/gen2brain/[email protected]: parsing ../raylib-go-solarlune/go.mod: open /Users/ryan/go/src/github.com/solarlune/raylib-go-solarlune/go.mod: no such file or directory

I'm using go version go1.14.2 darwin/amd64

I also tried using the suggest build script, but go mod itself is failing with this each time:

go run build_script/main.go -b
go: github.com/gen2brain/[email protected]: parsing ../raylib-go-solarlune/go.mod: open /Users/ryan/go/src/github.com/solarlune/raylib-go-solarlune/go.mod: no such file or directory

The root of the issue is the go mod patch to use your custom libraries. Maybe you've recently archived github.com/solarlune/raylib-go-solarlune ?

Grouping objects

Hi,

awesome tool!

A feature to be able to group a bunch of objects together would be really useful for managing more complex boards.

[Feature Request] Pasting images directly in

You can drag images in, and you can copy text into a note or task.
But I can't see a way of copying an image in. "Paste Content" just says "unable to create task from clipboard content" if I have an image in there.

WMClass tied to version in Linux

Hi,

I've bought Masterplan on Linux, so I need to create a desktop file. However, without StartupWMClass in the .desktop, this is what happens :
photo_2020-11-20_10-36-54

What should happen is this :
photo_2020-11-20_10-36-03

For that, I had to use the xprop | grep WM_CLASS command, which gave me this output : WM_CLASS(STRING) = "MasterPlan v0.6.0", "MasterPlan v0.6.0

The issue here is that I need to add StartupWMClass=Masterplan v0.6.0. to my .desktop file, which means that as soon as I upgrade to i.e. 0.7.0, I'll have to manually change this line. A simple fix would be to change the WM_CLASS to Masterplan, I guess?

NixOS packaging

hey, i like your software and i use nixos so i wrote a package for it. i'm not sure if getting it into the main nix repos would count as redistributing builds, so would you mind if i made a pr adding the package expression to this repo? (though i'm not sure how many other nixos users are also using this software)

[Feature Request] Support for mouse buttons remapping

Hi,

At the moment, it seems all actions linked to mouse buttons (left/middle/right) cannot be remapped, such as contextual menu or view panning.

Being able to remap those actions and access additional mouse buttons (thumb/side buttons, etc...) would be great.

[Feedback?] Select animation is too rapid

Hi! Absolutely loved this from the screenshots and decided to give it a spin

But uh, in motion it looks almost dizzying. There's issue with the background rippling around due to being uniform pattern scaled to far down, which is separate issue...

But the primary mode of interacting with tasks, where you need to select it, rapidly makes me want to avoid selecting tasks more than necessary just from the sheer rapid blinking of the animation that surrounds the selected task. I have not found an option to turn it off? I do like there being a highlight around the selected task, but I really really would prefer not to have the rapid blinking.

Edit: Ah, found the option, Settings > Tasks > Pulse Selected Tasks which still does not disable pulsing darkening of the task. That one is Selected Tasks Glow, but counterintuitively it changes them to be the same color as not-selected tasks, which with a 1px-per-1px zoom causes it to be near impossible to see the thin blue selection border.

Autoload Last Plan Setting Forgotten on Restart

If the "Auto-load Last Saved Project" option is checked in the project settings, the settings.json file updates with the correct information, but when MasterPlan restarts, it doesn't auto-load the last plan, and the setting in the project settings is unchecked.

Windows 10 64-bit
master branch (commit 40f188c), Build: windows_amd64

Crash when trying to change color theme inside the tutorial

Steps to reproduce:

  1. Open tutorial.
  2. Go to settings.
  3. Try several different color themes.
  4. The program will crash.

I'm running the latest git version of the program on Arch Linux.

This is the contents of log.txt file after crash (home directory path replaced with ...):

2020/11/12 01:16:35 

# ERROR #
2020/11/12 01:16:35 
.../masterplan/src/masterplan/main.go:80
2020/11/12 01:16:35  | Error: runtime error: index out of range [0] with length 0
2020/11/12 01:16:35 
/usr/lib/go/src/runtime/panic.go:969
2020/11/12 01:16:35 
/usr/lib/go/src/runtime/panic.go:88
2020/11/12 01:16:35 
.../go/pkg/mod/github.com/solarlune/[email protected]/raylib/textures.go:143
2020/11/12 01:16:35 
.../masterplan/src/masterplan/whiteboard.go:296
2020/11/12 01:16:35 
.../masterplan/src/masterplan/task.go:2242
2020/11/12 01:16:35 
.../masterplan/src/masterplan/board.go:602
2020/11/12 01:16:35 
.../masterplan/src/masterplan/project.go:1341
2020/11/12 01:16:35 
.../masterplan/src/masterplan/project.go:1754
2020/11/12 01:16:35 
.../masterplan/src/masterplan/project.go:2160
2020/11/12 01:16:35 
.../masterplan/src/masterplan/main.go:309
2020/11/12 01:16:35 
/usr/lib/go/src/runtime/proc.go:204
2020/11/12 01:16:35 
/usr/lib/go/src/runtime/asm_amd64.s:1374
2020/11/12 01:16:35 

# ERROR #

Undo is mapped to CTRL-Y on german keyboard layout

In Germany we are used to undo things with CTRL+Z (same as US). The Z and Y keys on a german layout keyboard (QWERTZ) are inverted to the US one (QWERTY), but we still are used to CTRL+Z (which even makes sense because "back" in german is "zurück"). Is it possible to change the undo feature to CTRL+Z for german keyboard layouts.
French layouts may also have a problem (AZERTY).

[Feature Request] Add ability to select tasks and move view with same keys

Hi, I really like how vim keybindings allow users to do a lot while their fingers stay near homerow and I've been attempting to get something similar with Masterplan. I currently have move set to "hjlk" being left, down, up, right but I also want to be able to select tasks with the same keys, possibly by using a modifier. As the project currently stands I do not believe that is possible with the current button remapping and I think it would be a worthwhile.

Thank you for this project!

Incorrect keyboard shortcuts on MacOS

On MacOS, Cut/Copy/Paste all use CTRL+X/C/V, instead of CMD+X/C/V when operating on text. It would be nice to use the native clipboard for these operations when possible :^)

[Feature Request] Change save dialogue on windows

I understand you use linux but a lot of us primarily use windows and then this dialogue is quite annoying because you cannot type in a path or select one of your 'pinned' locations.
bilde
Excuse the non english screenshots, but i hope they still get the point across.

It is supposed to look something like this:
bilde

This is of course my personal preference. I will look into making a PR later but I'm not fluent in golang.

Can't attach images.

Steps to reproduce:
New Task > Change task Type: Image > Load.
pngs, gifs and jpgs are greyed out
MacOS Catalina 10.15.3 Beta (19D62e)
Screen Shot 2020-02-02 at 12 16 03 PM

Instant Snap to Origin Before Panning Animation on Snap to Origin

When the backspace key is pressed for snap to origin, the view teleports directly to the origin for a frame or two before doing the panning animation. Tasks located near the origin only appear in these couple frames if they were already loaded on-screen before the backspace key is pressed for the snap to origin, so it's possible that whatever code is responsible for drawing only the tasks that are in the view doesn't think the view is at the origin for these frames.

Build: windows_amd64
On Windows 10 64-bit

Can't run custom build on Windows, immediately crashes.

After cloning the repository into my user folder and running the build script, which seemed to run fine...

I try and launch MasterPlan.exe and it flashes open for around half a second before closing. log.txt is empty.

Is there something I'm missing here? I have GoLang, Git, GCC installed. Build runs through fine without errors.

Running masterplan periodically freezes the gnome-desktop

When running masterplan the gnome-desktop freezes periodically for short times (a few seconds).

I'am on Fedora 33.
If you need more details, let me know.

PS.: Interestingly this happens also when running the windows-version via wine.

Carriage return is visually represented when creating a note from a file

I dragged a file with Windows line endings into the app and the task draws an underscore for the \r character. Stripping the carriage return is probably the right move, however in case you care, that will break old Mac text files which only use carriage returns and no line feed.

Similarly \a and \f appear as underscores. There may be others, I didn't do an exhaustive test.

Progression Tasks

Hope I'm not nitpicking :D
Screen Shot 2020-02-02 at 12 20 17 PM
Box #2 should always be higher than box #1, right? Maybe they can be tied together so that #2 increases if #1 does? IDK

Masterplan Versions 4 & 5 Wont Launch On Win10

So I have a bit of an odd issue, but an issue nonetheless.
When I have Masterplan Versions 4 OR 5 installed on my system, when launched, nothing happens.
Oddly Enough, when I install an older version of masterplan (In this case Ver. 3) the software works perfectly fine as it should.
Another note is that masterplan isn't instaled in the itch launcher defal directory, as I have use a custom one. (I don't think that this is an issue but I though I might as well point it out)

A Bit More Details of my system hardware:
CPU: Intel i7 8700 8th gen
GPU: Nvidia GTX 1060 6gb
RAM: 16GB Two stick kit

Disable mouse smoothing

Hello,

The keyboard controls are great, however, when dragging the screen using the mouse wheel, there's an annoying smoothing. An option to disable with be great ! (I've searched and haven't found anything related to it in the issues. Please, forgive me if there is one already)

I'm using the Linux version built from the git repo, if that's helpful.

Thanks again for such a great program !

Window resize issue on macOS

Description:
On macOS, resizing the window presents a rendering issue where the view is constrained to the bottom right corner of the window. After that, moving the resized window zooms into the view covering up the task bar at the bottom.

System Info:
macOS 10.15.2
MasterPlan 0.1.0

Steps to Reproduce:

  1. Start MaserPlan on macOS 10.15.2

MasterPlan_resize_issue_0

2. Resize the window:

MasterPlan_resize_issue_1

3. Move the window:

MasterPlan_resize_issue_2

[Bug] Zoom relative to cursor position isn't consistent

Hi,

From what I've noticed, there are two issues at hand:

  • it seems zooming in will take into account the cursor's position but not zooming out. For example, keeping the cursor in a corner and repetitively zooming in and out will progressively shift the content of the screen over time.
  • the second one is more minor: when zooming in, the transition isn't smooth, ie. the point under the cursor doesn't remain static during the transition as if the zoom happens first and the translation to keep the cursor's position static in the "world" happens next, resulting in a jerky motion

Expected behavior:

When zooming in and out, the "world" point under the cursor should remains under the cursor at all time, during transition and during zoom in/zoom out. For reference, one can try zooming in/out on Google Maps or similar.

[Feature Request] Store settings in a different path

On Linux, MasterPlan's settings are stored in ~/settings.json, a file directly in the user's home directory. Not only does this file name not express which application created it, but since it's in a path used by other applications, it would be easy for something else to casually overwrite or write other data into this file.

If possible, this file should probably go in ~/.config/masterplan/settings.json instead, to give it a path unique to MasterPlan.

Incorrect colors when creating custom theme

Environment:

  • Masterplan v0.1.1(compiled from master branch)
  • Kubuntu 18.04
  • i3wm 4.14.1

Repro:

  1. Duplicate an existing theme in /masterplan/bin/linux_amd64/assets/themes and rename it. I called mine Gruvbox_dark.json
  2. Change the GUI_INSIDE property in the json file to an obvious color such as 204, 36, 29, 1
  3. Save the changes, launch Masterplan, and load your theme.

Expected:
The background will be the following color:
image

Bug:

The background is black:
image

If I change every value in the Gruvbox_dark.json file to that red, the whole UI is completely black.
To rule out that just that color was an issue, I tested with several other colors from the Gruvbox palette located here: https://github.com/morhetz/gruvbox

Move subtasks with major task.

Platform: Windows

When trying to move tasks which have subtasks only the major task will be moved. The subtask will stay in place.

I use the major and subtask system to categorize task. So if I want to move them I want to move all of them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.