Featmap is a user story mapping tool for product people to build, plan and communicate product backlogs.
Featmap is an open source user story mapping tool. It is built using React, Typescript and Go.
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.
- Personas
- Markdown editing
- Discuss user stories
- Share your user story maps with external stakeholders
- User story annotations
- User story estimates with roll-ups
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.
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.
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.
Featmap can be run on your own server.
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 the Featmap binary for your respective platform and save it somewhere on your system. If needed, make it executable on your system.
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. |
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!
Just download the latest release and swap out the executable. Remember to backup your database and the old executable.
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
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
Featmap is licensed under Business Source License 1.1. See license