Vervis/README.md

155 lines
4.6 KiB
Markdown
Raw Normal View History

# Vervis
**Vervis** is a project hosting and management application, with a focus on
softare projects and decentralization. It's still in very early development. At
the time of writing, it is a minimal web application in which you can create
Git repositories and watch their commit logs.
Vervis is free software, and is committed to software freedom and to freedom in
general. It is released to the public domain using the CC0 Public Domain
Dedication. For the boring "legal" details, see the file `COPYING`. Please use
and reuse Vervis for a Good purpose, and share your work too in the same
spirit.
## Features
2016-05-13 17:15:30 +02:00
This is a list of initial features I plan to support in Vervis. It helps me get
an overview of more-or-less what's left to do before the first release.
[ ] - To do
[~] - Work in progress
[/] - Initial coding done, needs tests and polishing
[x] - Complete
[ ] User management
2016-04-18 20:57:34 +02:00
[~] View your personal overview
[~] Other users' pages
[/] Register
[ ] Delete account
[/] Log in
[/] Log out
[ ] Reset password
[ ] TLS client cert
[ ] Upload it
[ ] View it
[ ] Log in using it
[ ] Change profile details
[/] Key management
2016-04-18 20:57:34 +02:00
[/] Add key
[/] Delete key
2016-04-18 20:57:34 +02:00
[/] View keys
[ ] Project management
2016-05-13 17:15:30 +02:00
[/] Tickets
[ ] Wiki
[ ] Kanban
[ ] Merge requests
[ ] Repo management
2016-04-18 20:57:34 +02:00
[ ] Delete repo
[/] Add repo
[ ] Rename repo
[ ] Edit repo settings
[ ] View repo content
[/] File tree
[ ] File content
[/] Plain text
[/] Syntax highlighting
[/] Document rendering
[ ] Images
[ ] Audio
[ ] Video
[ ] Raw file download
2016-05-04 13:09:36 +02:00
[ ] Darcs
[ ] Create new repo
2016-05-04 13:50:12 +02:00
[/] Web
2016-05-04 13:09:36 +02:00
[ ] SSH
[ ] Delete repo
2016-05-13 23:41:46 +02:00
[/] Web
2016-05-04 13:09:36 +02:00
[ ] SSH
2016-05-13 17:15:30 +02:00
[/] Clone
[/] HTTP
[/] SSH
[/] Pull
[/] HTTP
2016-05-04 13:09:36 +02:00
[/] SSH
[ ] Push
[ ] HTTP
2016-05-13 17:15:30 +02:00
[/] SSH
[/] View
[/] History
[/] Files
2016-05-04 13:09:36 +02:00
[ ] Git
[ ] Create new repo
[/] Web
[ ] SSH
[ ] Delete repo
2016-05-13 23:41:46 +02:00
[/] Web
2016-05-04 13:09:36 +02:00
[ ] SSH
[ ] Clone
[/] HTTP
2016-05-04 13:09:36 +02:00
[/] SSH
[ ] Git
[ ] Pull
[/] HTTP
2016-05-04 13:09:36 +02:00
[/] SSH
[ ] Git
[ ] Push
[ ] HTTP
[/] SSH
2016-05-13 17:15:30 +02:00
[/] View
2016-05-04 13:09:36 +02:00
[/] History
[/] Files
[ ] Federation
## Reliability requirements
These features are considered critical for a Vervis instance to be a reasonably
reliable place where people can host their projects and repos, and not worry
about some bug or missing feature causing loss of data or access.
[ ] Password reset, at least over plain email, either automatically or a
temporary manual hack which will work at least for personal instances
2016-06-06 08:03:12 +02:00
[x] Git pull and push over SSH fully working
[x] Darcs pull and push over SSH fully working
[x] SSH server implementation really secure as far as I know
[x] TLS support, especially critical when sending passwords. For now, done
externally through Lighttpd, not Vervis itself
[x] Darcs pull over HTTP and HTTPS
[x] Git pull over HTTP and HTTPS
[ ] Clear policy and guidelines for DB schema changes
[ ] Running instance has data backups
## Installation
See `INSTALL.md`. To be honest, I haven't written it yet. Just use `stack
install`, pray, and ask me if anything fails. Ah, actually before that you need
to create a PostgreSQL database, generate an SSH key and update the settings in
`config/settings.yml` as needed. I promise to write detailed instructions soon.
## Using
See the .cabal file for more info and link to project website and version
control.
The official download location is the Darcs repository:
<http://hub.darcs.net/fr33domlover/vervis>
Releases are made to Hackage, the Haskell package repository.
See <http://hackage.haskell.org/package/vervis>.
See the file `INSTALL.md` for a detailed usage and deployment guide. The file
`ChangeLog` explains how to see the history log of the changes done in the
code. `NEWS.md` provides a friendly overview of the changes for each release.
## Reporting Bugs and Suggesting Features
If you found a bug, or you have an idea, a feature request or a wishlist item,
open a ticket for it! Even if you're goint to implement something or try to
solve it.
<http://rel4tion.org/projects/vervis/tickets/>
If you're going to implement some feature or fix some bug you found,
**start by opening a ticket** so that other people will know which features are
being developed and who does what.