Skip to content

Commit

Permalink
Problem: SIT's scope is very narrow
Browse files Browse the repository at this point in the history
However, the concepts behind it are applicable
for use cases other than issue tracking.

Solution: implement modularization and extract issue tracking
  • Loading branch information
yrashk committed Apr 12, 2018
1 parent 13a78e4 commit 9b5329b
Show file tree
Hide file tree
Showing 2,267 changed files with 452 additions and 363,868 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule ".sit/modules/issue-tracking"]
path = .sit/modules/issue-tracking
url = https://github.com/sit-it/issue-tracking.git
4 changes: 4 additions & 0 deletions .sit/cli/mr-send-upstream
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
echo You can now push this MR upstream:
echo
echo GIT_SSH_COMMAND="ssh -i sit-inbox" git push git@git.sit-it.org:sit-it/sit-inbox.git $1

1 change: 1 addition & 0 deletions .sit/modules/issue-tracking
Submodule issue-tracking added at a2c47b
41 changes: 0 additions & 41 deletions .sit/reducers/Commented.js

This file was deleted.

14 changes: 0 additions & 14 deletions .sit/reducers/DetailsChanges.js

This file was deleted.

8 changes: 0 additions & 8 deletions .sit/reducers/MergeRequested.js

This file was deleted.

20 changes: 0 additions & 20 deletions .sit/reducers/Merged.js

This file was deleted.

14 changes: 0 additions & 14 deletions .sit/reducers/State.js

This file was deleted.

12 changes: 0 additions & 12 deletions .sit/reducers/SummaryChanged.js

This file was deleted.

5 changes: 0 additions & 5 deletions .sit/reducers/activity.js

This file was deleted.

16 changes: 7 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,26 +55,24 @@ be longer than one line.

Once you have a branch (BRANCH) with your patch ready:

Run `./scripts/prepare-merge-request <BRANCH>` script
and either use the suggested text as is or edit it.
Run `sit mr <BRANCH>` and either use the suggested text as is or edit it.
Please keep in mind that currently it expects the first
line of your commit to be a one-line problem statement
(it will copy it to the summary), the second line to be
empty and the rest to be a description (you can see
an example right above).

If you would prefer to attach your merge request to
an existing issue (for example, there's a bug report,
or a problem statement already recorded), simply
If you would prefer to attach your merge request to an existing issue (for
example, there's a bug report, or a problem statement already recorded), simply
extend the above command to this:

```
./scripts/prepare-merge-requests <BRANCH> <ISSUE-ID>
sit mr <BRANCH> <ISSUE-ID>
```

Then, at the end, it will give you a command line
to copy-paste to push the request out (make sure
you set up `issue` remote as per suggestion in [README](README.md#send-updates-to-upstream)
Then, at the end, it will give you a command line to copy-paste to push the
request out (make sure you set up `issue` remote as per suggestion in
[README](README.md#send-updates-to-upstream)

<img src="doc/merge_request.gif">

Expand Down
16 changes: 16 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

62 changes: 33 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<br>
</h1>

<h4 align="center">Serverless issue tracker for decentralized teams</h4>
<h4 align="center">Serverless Information Tracker</h4>

<p align="center">
<a href="https://github.com/sit-it/sit/releases"><img alt="Release" src="https://img.shields.io/github/release/sit-it/sit.svg"></a>
Expand All @@ -21,46 +21,46 @@
<p align="center">
[
<a href="https://github.com/sit-it/sit/releases"><b>Download</b></a> |
<a href="doc/getting_started.md"><b>Getting Started</b></a> |
<a href="doc/overview.md"><b>Overview</b></a> |
<a href="doc/architecture_overview.md"><b>Overview</b></a> |
<a href="#questions-bug-reports-etc"><b>Issues & Merge Requests</b></a>
]
</p>

SIT is a compact tool to track and share project issues in and between
decentralized teams. Its goal is to lower the barrier for having an independently
operated, shared issue tracker. Instead of having to setup and maintain a server
and a database, or having to rely on services of an external third party, SIT can
be initialized and started as simply as this:
SIT is a compact tool that helps tracking and sharing information between people and systems
in a decentralized, sporadically-online environment (*aka "the real world"*).

```
$ sit init && sit-web
```
Its goal is to lower the barrier for recording, querying and sharing information
independently. Instead of having to setup and maintain a server and a database,
or having to rely on services of an external third party, SIT is a self-contained
binary for Linux, OS X and Windows that typically works on the end-user's computer.
SIT's medium of record is files. No external database is required.

That's it. Now you can check out the [Getting Started](doc/getting_started.md) guide.
## Modules

<center>
<p align="center">
<img src="doc/webui_example.png">
<small><i>(An example of running sit-web)</i></small>
</p>
</center>
While bare SIT can track any kind of information (*it's all just files, after
all*), the user experience of using it as is might be less than exciting. For this
reason, SIT supports a concept of modules that allows to operate domain-specific
workflows and interfaces easily.

Currently available modules:

* [Issue Tracking](https://github.com/sit-it/issue-tracking)

## Why Should I Care?

As far as analogies go, we're doing to issue tracking what Git did to version control systems. But let us
As far as analogies go, we're doing to information tracking what Git did to version control systems. But let us
further elaborate on a few benefits to consider:

* **Works offline**. You can synchronize the issues, go offline and work
on them without needing a connection. You can synchronize at any time later.
* **Contextualizes state**. When used together with an SCM (such as Git), you can see the
state and status of any issue at any given revision (*"what release branches is this
closed on?"*)
* **Works offline**. You can synchronize information, go offline and work
on it without needing a connection. You can synchronize at any time later.
* **Contextualizes state**. When used together with an SCM (such as Git), you
can see the state of any item at any given revision (in the context of issue
tracking, for example, it can answer the question of *"what release branches
is this issue closed on?"*)
* **Continuously localizes data**. You can access the data at any time. No API rate limits. It's on your filesystem.
* **Adapts to your team topology**. Synchronization can be done over Git, Dropbox, Keybase,
* **Adapts to your group topology**. Synchronization can be done over Git, Dropbox, Keybase,
USB flash drives or anything else that allows you to copy files between computers.
* **Malleable**. You can make it handle workflows and payloads original authors never anticipated. The customization
* **Malleable**. You can make it handle just about any workflow and payload. The customization
is in its blood.

## Project Status
Expand All @@ -69,16 +69,20 @@ It is in the early adopter stage. It's usable but not everything is done yet and
some things will change. We're publishing releases regularly but always encourage
trying out the latest and greatest master branch.

Originally IT in SIT stood for "issue tracking". Since then, it grew to become a generalized
information tracking tool (with issue tracking extracted to a module)

## Obtaining SIT

All our releases are hosted on [GitHub](https://github.com/sit-it/sit/releases)
and binary files can be downloaded from there.

## Build Instructions

As SIT is currently in its early days, sometimes it might make sense to use a pre-release build. We encourage that. It helps us building a better product.
As SIT is currently in its early days, sometimes it might make sense to use a
pre-release build. We encourage that. It helps us building a better product.

Firstly, you will need to install Rust 1.24.1. Luckily
Firstly, you will need to install Rust 1.25. Luckily
it is typically a very simple process. You can find
instructions on [Rust's website](https://www.rust-lang.org/en-US/install.html).

Expand Down Expand Up @@ -108,7 +112,7 @@ Simply run `sit-web` in this repository's clone and open it in the browser.

#### Send Updates to Upstream

Once you've used sit-web or `./scripts/prepare-merge-request` to work on the issues,
Once you've used sit-web or `sit mr` to work on the issues,
you can send the updates to this repository:

1. Create a branch (as a convention, you can use your issue ID or an added record ID as a branch name, but free to choose anything else, preferrably unique)
Expand Down
1 change: 0 additions & 1 deletion doc/.gitignore

This file was deleted.

11 changes: 0 additions & 11 deletions doc/dict/.type/Closed.md

This file was deleted.

24 changes: 0 additions & 24 deletions doc/dict/.type/Commented.md

This file was deleted.

Loading

0 comments on commit 9b5329b

Please sign in to comment.