fnplus / footsteps-app

A search 🔎 engine of experts-led learning paths. Learn by following the footsteps (journey) of experts. 👨‍💻👩‍💻
https://www.footsteps.dev/
GNU General Public License v3.0
42 stars 72 forks source link
awesome-lists footsteps gatsby hasura-graphql knowledge-base learning-paths react search-engine tutorials

👣 Footsteps - Learning Resources Aggregator

A Search 🔎Engine of Community-made 🧑‍🤝‍🧑learning resources for the 21st-century learner.👨‍💻👩‍💻Learn by following the footsteps (resources) of experts or make your own, giving others the right advice/resources to learn.

GitHub issues GitHub forks GitHub stars

FOSSA Status LICENSE CODACY CODEFACTOR FOSSA Status

🤷 About

We envisioned the project to solve the problems faced by a 21st-century learner. A learner in the internet age finds herself/himself in a flood of resources from search engines. Although s/he finds links to learn, they're not always from the best teachers/best-rated ones since it's the website with the best SEO (search engine optimization) that shows the topmost results. On top of that, there are so many free resources available on the internet made by experts in their field and yet we are forced to pay for the outdated courses promoted by big companies and universities.

With Footsteps app & browser extension, we take a subject knowledge expert (mentor) first approach to solve the problem of finding the best resources to learn. It works by having the domain experts save their learning journey with our web app and browser extension & making it available for everyone else to follow. Every resource is called a 'footstep' (added chronologically) and a collection of footsteps makes up a learning path. The learner can "save" the learning paths to his learning journey and keep a track of his progress. The app also suggests other recommended paths rated well by other learners in the Footsteps Community.

🧐 The Need (as seen on the web)

Here are a few examples of why we came up with footsteps:

Reddit thread - "About IBMs Data Science Certification"

🤩 Proposed/Upcoming features

SL No. Feature Status
01 Ability to make the path private/public.
02 The ability to "fork" a learning path & suggest changes.
03 A collaborative filtering recommendation system for recommending the right resources to a learner.
04 Ability to save your progress (with a progress bar) in a learning path.
05 Ability to upvote a learning path.
06 Ability to follow a user.
07 A modified home page UI with a search bar, active learning paths & new leaning paths by 'followed' users

🚀 Quickstart

Here is our quick start guide. See our Wiki for detailed instructions!

  1. Install the Gatsby CLI.

    npm install -g gatsby-cli
  2. Fork & Clone the repo

    git clone https://github.com/[yourname]/footsteps-app
  3. Install node dependencies

    Use the Gatsby CLI to create a new site, specifying the starter.

    cd footsteps-app/
    npm install
  4. Add Credentials to .env

    Create .env.development file and add your variables listed below.

    Use the below credentials for testing purposes

    GATSBY_HASURA_GRAPHQL_URL=http://rle-test.herokuapp.com/v1/graphql
    GATSBY_HASURA_GRAPHQL_ADMIN_SECRET=!footstepstest!
    GATSBY_FIREBASE_API_KEY=AIzaSyCfv2UcXCifCqmo6PhpdjKajVcpP_8Al9M
    GATSBY_FIREBASE_AUTH_DOMAIN=fnplus-rle-test.firebaseapp.com
    GATSBY_FIREBASE_DATABASE_URL=https://fnplus-rle-test.firebaseio.com
    GATSBY_FIREBASE_PROJECT_ID=fnplus-rle-test
    GATSBY_FIREBASE_STORAGE_BUCKET=fnplus-rle-test.appspot.com
    GATSBY_FIREBASE_MESSAGING_SENDER_ID=1042822146411
    GATSBY_FIREBASE_APP_ID=1:1042822146411:web:d09d2baa58dd82ff49842e
    GATSBY_GOOGLE_TRACKING_ID=UA-154496987-1

    For access to the Firebase project, please fill this form.

    For access to the testing DB, use this link & enter '!footstepstest!' as the password.

  5. Start developing. Navigate into your new site’s directory and start it up.

    gatsby develop
  6. Open the source code and start editing!

    Your site is now running at http://localhost:8000!

    Note: You'll also see a second link: http://localhost:8000/___graphql. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the Gatsby tutorial.

    Open the footsteps-app directory in your code editor of choice and edit files under src. Save your changes and the browser will update in real time!

🎓 Learning Gatsby

Full documentation for Gatsby lives on the website.

We welcome suggestions for improving our docs. See the “how to contribute” documentation for more details.

Start Learning Gatsby: Follow the Tutorial · Read the Docs

👨 Project Admin

👬 Mentors

Name Point of Contact
Dev Daksan

Praveen Kumar

Sudipto Ghosh

Tarun Nagpal

Feel free to ask your queries!! 🙌

:trophy: Competition

HakinCodes Logo

GSSoC Logo

:memo: License

Licensed under the GPL v3 License.

:heart: Thanks

Thanks to our many contributors and to Netlify & Heroku for hosting footsteps.dev.