npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

tutorbook

v0.8.2

Published

Web app connecting students with expert mentors and tutors.

Downloads

14

Readme

Tutorbook Logo

NPM Version Dependencies Website Status Typescript Lerna

Tutorbook is an online volunteer tutoring platform that connects students in need (who no longer have face-to-face support from teachers) with volunteer tutors (who want to make a difference from home).

The problem

  • Students no longer have the individualized support teachers usually have given (when they met face-to-face)
  • Teachers can no longer attend to each student individually; some students are falling behind

The solution

  • Support those students by connecting them to university students and professionals also confined in their homes
  • Enable teachers to request one-on-one help for students they know are struggling

Current work

Here's what we're working on at a super high-level:

  1. Building out a front-end where students and tutors can sign-up to be connected to one another.
  2. Building out a back-end to automatically match students with tutors and send them three links:
    • Link to video call
    • Link to virtual whiteboard (probably using DrawChat)
    • Link to shared Google Drive folder

Contributing

Do the following (preferably in order):

  1. Join our Slack workspace.
  2. Check the #development channel pins for more information on how you can help out.
  3. Read through the links included below to become familiar with our current tech stack.
  4. Contribute:

Also feel free to check out our recently added tutorials/ directory for additional information detailing different aspects of this project (e.g. tests, deployment workflows, CI/CD, etc).

This project uses (please ensure that you're familiar with our tech stack before trying to contribute; it'll save your reputation and a lot of time):

Languages

Frameworks

  • React - As our front-end framework.
  • Next.js - To easily support SSR and other performance PWA features.

Tooling

  • Lerna - To manage and re-use React components across repositories; mostly just to migrate code from this project back into Tutorbook when we get the chance.
  • ESLint - For code linting to avoid common mistakes and to enforce styling. Follow these instructions to install it in the text editor of your choice (such that you won't have to wait until our pre-commit hooks fail to update your code).

Database

Development Environment

To setup a development environment for and to contribute to the COVID Tutoring Initiative website:

  1. Follow these instructions to install nvm (our suggested way to use Node.js) on your machine. Verify that nvm is installed by running:
$ command -v nvm
  1. (Optional) If you use Vim as your preferred text editor, follow these instructions on setting up Vim for editing JavaScript.
  2. Run the following command to install Node.js v12.16.1 (our current version):
$ nvm i 12.16.1
  1. (Optional) Run the following command to set Node.js v12.16.1 as your default Node.js version (useful if you have multiple Node.js versions installed and don't want to have to remember to switch to v12.16.1):
$ nvm alias default 12.16.1
  1. Ensure that you have recent versions of Node.js and it's package manager npm by running:
$ node -v
12.16.1
$ npm -v
6.13.4
  1. Clone and cd into this repository locally by running:
$ git clone https://github.com/tutorbookapp/covid-tutoring.git && cd covid-tutoring/
  1. Then, install of our project's dependencies with the following command:
$ npm i
  1. Follow the instructions included below (see "Available Scripts") to start a Next.js development server (to see your updates affect the app live):
$ npm run dev
  1. Message me (DM @nicholaschiang on Slack) once (not if) you get the following error (I have to give you some Firebase API keys to put in the .env file):
Error [FirebaseError]: projectId must be a string in FirebaseApp.options
  1. Finally, cd into your desired package (included in src/), make your changes, commit them to a branch off of develop, push it to a fork of our repository, and open a PR on GitHub.

Code Format

Tutorbook uses Prettier to enforce consistent code formatting throughout the codebase.

A pre-commit hook is used to format changed files found on commit, however it is still recommended to install the Prettier plugin in your code editor to ensure consistent code style.

Available Scripts

All of the below scripts come directly from Next.js. In the project directory, you can run:

npm run dev

Runs next dev using full-icu and with the Node.js --inspect flag on (useful for debugger; statements) which starts Next.js in development mode.

Open http://0.0.0.0:3000 to view the app in the browser (note that we use 0.0.0.0 instead of the default localhost for Intercom support. The page will hot-reload if you make edits. You will also see any lint errors in the console.

npm run build

Runs next build which builds the application for production usage.

npm run start

Runs next start which starts a Next.js production server.