Featmap
Featmap is a user story mapping tool for product people to build, plan and communicate product backlogs.
Introduction
Featmap is an open source user story mapping tool. It is built using React, Typescript and Go.
Purpose
Featmap was built for product people to take advantage of a technique called user story mapping. User story mapping, or just story mapping, is an effective tool to create, plan and communicate your product backlog. Story mapping was created by Jeff Patton and its primary utility is providing us with an overview of the entire product and how user goals are broken down into a series of tasks. Finally, it helps us to define valuable product slices (releases) and prioritize between them.
Features
- Personas
- Markdown editing
- Discuss user stories
- Share your user story maps with external stakeholders
- User story annotations
- User story estimates with roll-ups
Intended audience
Featmap is great for product managers, product owners or just about anyone who is building products. Featmap can also be used as a light weight work item management system for development teams.
Motivation
There are many user story mapping tools, however none are really focused on easy-of-use and simplicity. Featmap was built to fill that gap. We hope you will find it as useful as we found building it.
Getting started
You have two choices when it comes to using Featmap.
- Use our hosted service at https://www.featmap.com. This is the most simple way of using Featmap. Note that we also offer a free trial.
- Host it yourself by running it on you own server, without cost. Please refer to the instructions for self-hosting.
Self hosting
Featmap can be run on your own server.
Requirements
Featmap runs on top of PostgreSQL, so make sure you have it running on your system. At this step, make sure to setup the credentials and database that Featmap will use.
Download
Download the Featmap binary for your respective platform and save it somewhere on your system. If needed, make it executable on your system.
Configuration
In the directory where you placed the binary, create a file called conf.json
.
Here's a sample conf.json
you can use:
{
"appSiteURL": "https://localhost:5000",
"dbConnectionString": "postgresql://postgres:postgres@postgres:5432/postgres?sslmode=disable",
"jwtSecret": "ChangeMeForProduction",
"port": "5000",
"emailFrom": "",
"smtpServer": "",
"smtpPort": "587",
"smtpUser": "",
"smtpPass": "",
"environment": "development"
}
Setting | Description |
---|---|
appSiteURL |
The url to where you will be hosting the app. |
dbConnectionString |
The connection string to the PostgreSQL database that Featmap should connect to. |
jwtSecret |
This setting is used to secure the cookies produced by Featmap. Generate a random string and keep it safe! |
port |
The port that Featmap should run on. |
emailFrom |
The email adress that should be used as sender when sending invitation and password reset mails. |
smtpServer |
SMTP server for sending emails. |
smtpPort |
Optional Will default to port 587 if not specified. |
smtpUser |
SMTP server username. |
smtpPass |
SMTP server password. |
environment |
Optional If set to development , Featmap assumes your are not running on https and the the backend will not serve secure cookies. Remove this setting if you have set it up to run https. |
Run
Execute the binary.
./featmap-1.0.0-linux-amd64
Serving on port 5000
Open a browser to http://localhost:5000 and you are ready to go!
Upgrading
Just download the latest release and swap out the executable. Remember to backup your database and the old executable.
Building from source and running with docker-compose
Clone the repository
git clone https://github.com/amborle/featmap.git
Navigate to the repository.
cd featmap
Let's copy the configuration files
cp config/.env .
cp config/conf.json .
Now let's build it.
docker-compose build
Startup the services, the app should now be available on the port you defined in you configuration files (default 5000).
docker-compose up -d
Upgrading
Remember to backup your database (/data), just in case.
Pull down the latest source
git pull
Now let's rebuild it.
docker-compose build --no-cache
And finally run it.
docker-compose up -d
Monetization
We believe Featmap is a great tool for product people and we want as many as possible to benefit from it, this is our primary goal. Therefore Featmap is open source and we offer Featmap free of charge for anybody to run on their own server. That being said, it would also be great if Featmap can generate some income. Featmap is offered as a paid service over at https://www.featmap.com. We believe this model is great because it allows us to sustainably build an open source app that as many as possible can benefit from.
License
Featmap is licensed under Business Source License 1.1. See license