Skip to content

A feature collection platform where users can share/vote/discuss feature requests and product owners can organize them

License

Notifications You must be signed in to change notification settings

msethi13/feature-hunt

Β 
Β 

Repository files navigation

Feature Hunt

DOI GitHub made-with-javascript code style: prettier Docker GitHub issues GitHub closed issues GitHub Workflow Status (with event) Tests CodeQL Pylint

Feature Hunt is a platform designed to empower you to make better product decisions. It achieves this by providing the means for product owners to seamlessly collect, analyze, and organize feedback and feature requests within their product's dedicated feedback board and presenting the upcoming features to other users in the form of a timeline of release date.

What it Does

  • πŸš€ Allows users to easily share their feedback and feature requests on a dedicated platform.
  • πŸ“Š Enables product owners to efficiently analyze and organize user-generated feedback.
  • πŸ“ˆ Employs algorithms to calculate product views, helping identify trending products.
  • πŸ“† Allows product owners to add a timeline of feature releases to keep users informed.
  • πŸ‘€ Enables users to view the feature release timeline.
  • πŸ“¬ Notifies users when a feature they suggested is added to the timeline.
  • πŸ“¬ Notifies users when new feature suggestions by other users are added to products they created.
  • πŸ“§ Ensures email notifications are up to date and correctly merged for user convenience.
  • πŸ’¬ Facilitates collaborative conversations using the discussion forum for each product.

Phase 4 Features implemented

  • πŸ“Š Calculated the views of products and listed trending products based on it.
  • πŸ•’ Added the Feature Timeline functionality.
  • πŸ“© Added functionality to notify the user if any feature they suggested was added to the timeline of that product.
  • πŸ“© Added functionality to notify the user if a new feature suggestion was added to any product they created.
  • πŸ’¬ Added new functionality of a discussion forum for features.
  • πŸ“‹ Added new functionality to add features with the help of a form.

Bugs fixed

  • 🐞 Fixed the upvote/downvote for Products.
  • 🐞 Fixed the upvote/downvote for Features.
  • 🐞 Fixed URL manipulation bug which used to display non-existent products.
  • 🐞 Fixed a bug that was letting us add projects with duplicate names.
  • 🐞 Restricted the add feature functionality to logged-in users.
  • 🐞 Refactored product upvote/downvote code.
  • 🐞 The projects listed after clicking on "Your Projects" are now clickable.
  • 🐞 Fixed the issue of non-clickable projects under "Your Projects."

Additional details can be viewed here

Rubric

Can be viewed here

Preview

  • Homepage

- Products Page

- Features and Timeline Displayed Page

- Your projects Page

Link to Phase 4 Video:

Click here to view video

We have used the following technologies were used for the development of this project:

react js mongo js python css

Installation Steps

There are two ways to install and develop for featurehunt

  1. Using Docker

  2. Using Local machine

Installation With Docker.

1. Follow the steps to install Docker for your OS

https://docs.docker.com/get-docker

2. Git clone the Repository using

git clone https://github.com/elric97/feature-hunt.git

3. In the following files, make the changes:

auth_controller.py - change the redirect url to 6060
service.js - change the redirect url to 6060

4. Run the following commands

cd feature-hunt

docker-compose up --build (This is only needed when you're running the project for the first time. Upon building once, you can run this command without providing --build option)

This will run two docker containers. The frontend will run on port 3000 and the backend will run on port 6060

Installation in Local Machine without Docker.

First Time Setup

1. Git clone the Repository using

git clone https://github.com/msethi13/feature-hunt.git

2. Run the following Commands

cd feature-hunt

Optional: In the project directory run git config --local core.hooksPath hooks to make sure you have access to the Git Hooks. Run the following commands in order:

3. npm install

Installs the dependencies for the React App

4. pip install -r backend/requirements.txt

Installs the requirements for the Flask API

5. yarn start

Runs the frontend React app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

To run backend flask api in development mode:

export DB_PATH='Your mongoDb connection URL'

6. yarn start-api

Runs the backend flask API in development mode.
The API runs on http://localhost:5000.

Requests made to http://localhost:3000 that don't exist on the react server are automatically forwarded to this API

Connecting with a Database

We use Mongo Cloud Atlas for our project as we find it very convenient. You may choose to use a local mongodb instance or run a docker container

In the file db_init.py - insert the mongo connection url

Update :

Connecting with DB - We have introduced an environment variable DB_PATH, to make sure that you set it to your local or deployed environment

Other Available Scripts

yarn test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

yarn lint

Applies Prettier to all .js files.

yarn build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready!

Contributors

Group 21
Bhavya Harchandani

Mitali Sethi


Akshat Saxena


Siddharth Shah

Contribution

Please refer the CONTRIBUTING.md file for instructions on how to contribute to our repository.

License

This project is licensed under the MIT License.

Future Scope

  • Can add frontend for Image Upload
  • Allow user to edit their own comments (on the comments page of feature)
  • Add dates to the feature timeline
  • Make the UI of the feature comments page better
  • Make timeline editable

Funding Information

This project has not yet been funded by any source

Support

For any concerns and queries, please send an email to [email protected]

About

A feature collection platform where users can share/vote/discuss feature requests and product owners can organize them

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 69.9%
  • Python 25.1%
  • CSS 2.6%
  • SCSS 1.2%
  • HTML 0.9%
  • Dockerfile 0.2%
  • Other 0.1%