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

CSC510-Group-25/feature-hunt

 
 

Repository files navigation

Feature Hunt

Codacy Badge DOI GitHub license made-with-javascript code style: prettier Docker GitHub issues GitHub closed issues Build Tests Coverage Status CodeQL Pylint Netlify

INTRODUCTION ⚡️

Stop letting ideas slip through the cracks. Collect, analyze, and organize feedback and feature requests in your product's feedback board to make better product decisions.

Feature Hunt is a platform that allows you to do just that. Users can share/vote/discuss feature requests and product owners can organize them to make better product decisions 🎯.

Watch this short video to know more:

https://user-images.githubusercontent.com/26930183/135515516-d84f3a28-6d8c-49de-8068-50748e2a76b0.mp4 https://user-images.githubusercontent.com/42051115/140450152-61fcce18-c307-41bc-bfa4-92afe4fc1c40.mp4

NEW-Updates-to-Feature-Hunt.mp4

The following technologies were used for the development of this project:

react js mongo js python css

React (P.S. we use hooks)
JavaScript
Python3
Flask
MongoDB
HTML
CSS

We have started using [MaterialUI] for styled components.

For more information, visit our wiki page on tools, hooks, and services.

Preview

The Home Page - It has a list of different products for which you can provide feature requests Screen Shot 2021-09-19 at 5 24 43 PM

The Product Page - It has a list of feature requests added by users Screen Shot 2021-09-19 at 5 25 04 PM

The Comment Section - Each product page has a comment section (Powered by utteranc.es) Screen Shot 2021-09-19 at 5 25 15 PM

Newest Features:

You can now create an account and mange the products you are a part of! This includes -

Project Submittal - You can instantly add new products to be reviewed by the community. Screen Shot 2021-09-19 at 5 24 43 PM

Tag Management - You can now give feature feedback though tags. Want to say that you are working on a feature? Add a IN DEVELOPMENT tag! Screen Shot 2021-09-19 at 5 24 43 PM

Getting Started

Before you get started, if you are using Windows, please visit our wiki page on Windows development.

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/CSC510-Group-25/feature-hunt.git

3. 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 5000

Installation in Local Machine without Docker.

First Time Setup

1. Git clone the Repository using

git clone https://github.com/CSC510-Group-25/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="mongodb+srv://bot:bot123@feature-hunt.6gqvj.mongodb.net/feature-hunt?retryWrites=true&w=majority"

export ROOT_PATH="./"

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

Check out our tutorial to get started with creating and connecting to a database.

You can also connect to the database from your shell using mongosh

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 to be deployed!

See the section about deployment for more information.

Deployment

This app has been deployed using Netlify and Heroku. Check it out here!

You can now run and test the project locally and in deployments. More info about our deplyments and switching between production and devlopment can be found in our Wiki

Future Scope

We believe in the ability to add new features in any project (including our own).

Check out our ideas for the future: Future scope

Contributors 🎯

Group 27
Raj Shah

Nirav Patel


Parth Kanakiya


Mithil Dave


Bhargav Jethwa

Group 25
Emily Tracey

Peeyush Taneja


Jonathan Nguyen


Leila Moran


Shraddha Mishra

About

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

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 71.4%
  • Python 20.9%
  • CSS 3.9%
  • SCSS 1.9%
  • HTML 1.4%
  • Dockerfile 0.4%
  • Shell 0.1%