/samwise

A Student Planner for Everyone

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

Samwise

Deployment Status License

Last updated 05/09/2020

Cornell DTI

Contents

About

A web app to help Cornell students plan their semesters.

Getting Started

You will need Node.js and Yarn installed on your development machine.

To setup your environment, go into the root folder and run yarn. Then, run yarn workspace frontend start to start a development server for frontend. If you need to work on firebase functions, run yarn workspace functions build to compile your functions code.

This repository comes with multiple tools to ensure code quality, including a linter and a type checker. Please ensure that they are properly configured with your IDE or text editor. For text editor setup instructions, please visit Cornell DTI's developer website.

Contributing

To maintain code quality, the master branch is write-protected. To contribute, please work on your changes in a new branch and then create a pull request into master. When opening a pull request, make sure you follow the pull request template. Better changelogs make the review process go quicker and easier for everyone.

All contributed code is expect to follow the Style Guide.

Dependencies & Libraries

Frontend

These should be installed automatically by yarn install.

  • React - a Facebook library for frontend, used for frontend UI.
  • Redux - a predictable state container for JavaScript apps, used for state management.
  • React-Redux - a library with bindings between React and Redux.
  • Firebase - a serverless service for authentication, database, analytics, and more.
  • React FirebaseUI - a simple sign-in component library for Firebase Authentication.
  • React Calendar - a calendar component for React.
  • React Color - a collection of React components for picking colors.
  • Fuse.js - a client-side fuzzy-search library.
  • React Toastify - a library for emitting toasts in React.
  • React Confetti DOM - a library for triggering confetti blasts
  • React Modal - a library for displaying accessible modal dialog components
  • React Beautiful DND - a library for drag and drop lists

To find the specific version used of each dependency, see package.json.

Documentation

Check our wiki to see all our documentation.

Screenshots

Contributors

Since 2016

  • Alice Zhou* - Product Manager
  • Justin Tran* - Front-end Developer
  • Kevin Li* - Back-end Developer / Designer

Since 2017

  • Gautam Mekkat* - Back-end Developer
  • Matthew Epstein - Product Manager
  • Vivian Shiu - Designer / Design Lead

Since 2018

  • Jessica Hong* - Back-end Developer
  • Michael Xing - Front-end Developer / Technical Product Manager
  • Michelle Park - Designer
  • Sam Zhou - Front-end Developer / Developer Lead

Since 2019

  • Megan Yin - Front-end Developer
  • William Evans* - Back-end Developer
  • Pinxuan Huang - Front-end Developer
  • Peter Wu - Front-end Developer
  • Jason Tung - Back-end Developer

Since 2020

  • Ishika Jain - Front-end Developer

* Former Contributor

We are a team within the Cornell Design & Tech Initiative. For more information, see our website.

Cornell DTI