Data Science UCSB's management of GauchoCourses, a quarterly course planner that allows students to see possible schedule combinations for the classes they want to take, and save them for when their pass times come around.

Overview

GauchoCourses

Data Science UCSB's GauchoCourses application is a quarterly course planner that allows students to see possible schedule combinations for the classes they want to take, and save them for when their pass times come around.

See the Wiki for contribution instructions and reference information. The backend and frontend directories have their own respective README's with more information.

Having a problem with the app? Create an issue here.

Comments
  • Create Google OAuth App

    Create Google OAuth App

    Background: The app is designed to use Google OAuth for authentication. This is the "sign in with Google" flow that you see all over the internet. "OAuth" is "Open Authentication Protocol" and it's an open standard, not anything Google-specific. When you see "Sign in with Facebook/Apple/etc" across the internet, those are OAuth flows as well, just using Facebook/Apple as the provider.

    When you create an OAuth app with Google, you will get two strings: a "client ID" and a "client secret". These strings are used by the GauchoCourses app here: https://github.com/crunch-time/crunchtime/blob/main/backend/src/main/resources/application-prod.properties#L30-L33

    Tasks:

    A word of warning... it's probably best to do this using the club's Google account so the credentials can be passed down to future officers/members. If you use your personal account, then you'd have to give your password to the next cohort of students that work on this app!

    • [x] Using club Google account, follow these instructions: https://developers.google.com/identity/sign-in/web/sign-in

    You only need to do the numbered steps: image

    Backend 
    opened by JasonFreeberg 3
  • Copy over Wiki articles to this repo

    Copy over Wiki articles to this repo

    The wiki for the code is here: https://github.com/crunch-time/crunchtime/wiki. It contains info about contributing, how the repo is structured, setting up local dev environments, etc.

    Let's copy those articles over to the Wiki for this repo: https://github.com/data-science-ucsb/gauchocourses/wiki

    documentation 
    opened by JasonFreeberg 3
  • Potential test fix

    Potential test fix

    At the bottom of this page there's a not about configuring Jest to transpile files from node_modules. I added axios in there, since that was the import causing the issues

    https://www.npmjs.com/package/@vue/cli-plugin-unit-jest

    opened by JasonFreeberg 2
  • Fix dependencies [M1 Mac Compatible]

    Fix dependencies [M1 Mac Compatible]

    Removed conflicting dependencies that don't work on m1 chip. Updated node-sass to newer version. Works with the following npm and node versions:

    npm mac: 8.19.2 npm windows: 8.15.0 node mac: v19.0.1 and v16.18.1 node windows: v16.17.1

    opened by WinbertZhang 1
  • Create GitHub Actions workflow to check Pull Requests

    Create GitHub Actions workflow to check Pull Requests

    Background: A common practice in modern software development is to run automated tests (unit tests, end-to-end tests) when a pull request is created against the main branch. This way the developer doesn't need to run them locally (or forget to run them locally) and it gives the team confidence that the changes in the PR won't break the app.

    Task: Create a GitHub actions workflow that is triggered whenever a PR is created against the "main" branch. The steps inside the Docker container which run the tests (https://github.com/crunch-time/crunchtime/blob/main/Dockerfile#L8), so this will effectively run the frontend and backend unit tests.

    DevOps 
    opened by JasonFreeberg 1
  • Create Azure Subscription for Club and add members

    Create Azure Subscription for Club and add members

    The app will be hosted on Azure, so you'll need to create an Azure subscription using the club credit card,

    • [x] Azure subscription is created: https://azure.microsoft.com/en-us/free/
      • [x] You'll probably want to create a Microsoft account for the club rather than a particular person, since this will be passed down
    • [x] The PM's and DevOps people have created accounts on Azure
    • [x] The PM's and DevOps people have been added to the Azure subscription: https://learn.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal-subscription-admin
    Frontend 
    opened by JasonFreeberg 1
  • Github Actions: run prod tests on new pull requests

    Github Actions: run prod tests on new pull requests

    Changes made:

    • add gh action workflow file to build docker container to run tests
    • changed the marven file to run node version 16 (changes apply to the docker container we create)
    opened by calee14 0
  • Remove Crunchtime changes

    Remove Crunchtime changes

    For a brief period @hallbrad and I were trying to make this project generic for other universities, but that's no longer the plan so this PR removes some of those genericizing commits and the application runs locally now... on my machine ;)

    opened by JasonFreeberg 0
  • Fix frontend compile errors + schedule padding

    Fix frontend compile errors + schedule padding

    Resolves issue #16 but would like another pair of eyes to see if my changes are okay.

    Also worked on the schedule padding issues from crunchtime https://github.com/crunch-time/crunchtime/issues/6

    Still not an expert at Vue.js and the styling so would appreciate some code review to make sure anything else didn't break. Thanks!

    Screenshot 2022-12-16 at 9 41 28 PM Screenshot 2022-12-16 at 9 40 45 PM Frontend 
    opened by stychoi 0
  • Fix compile errors from frontend updates

    Fix compile errors from frontend updates

    image

    Project running into multiple build errors on frontend

    • [ ] Mutating props: https://eslint.vuejs.org/rules/no-mutating-props.html, https://dev.to/nop33/fixing-no-mutating-props-vue-error-with-v-model-54oh
    • [ ] Multi word component names: https://eslint.vuejs.org/rules/multi-word-component-names.html
    • [ ] Do not access Object.prototype method https://eslint.org/docs/latest/rules/no-prototype-builtins

    Details in screenshot above.

    opened by WinbertZhang 1
  • Update the backend to Java 17, update Maven dependencies

    Update the backend to Java 17, update Maven dependencies

    The project was originally implemented ~3 years ago with Java 8. Java 8 is going to EOL soon, so we'll need to update this to Java 17.

    Everyone on the team can download Java 17 here: https://learn.microsoft.com/en-us/java/openjdk/download

    Tasks:

    • [x] Update maven poms to reference Java 17
    • [x] Update the Dockerfile to use Java 17
    • [x] Update Maven dependencies, their current versions may not work with 17
    • [ ] Ensure the application still builds and runs successfully
    Backend 
    opened by JasonFreeberg 1
  • Update Node and NPM dependencies

    Update Node and NPM dependencies

    The application was written ~3 years ago with Node.js 12. The lates Node.js version as of writing is Node 16. You'll want to upgrade the frontend to use the latest Node.js version.

    Some notes:

    • The version of Node.js is specified here: https://github.com/data-science-ucsb/gauchocourses/blob/main/frontend/pom.xml#L33
    • I removed two packages when trying to resurrect this project. You may want to ad these packages back: https://github.com/data-science-ucsb/gauchocourses/pull/10/commits/d40c56d633c1f5838a99c79b5600e11bb537d373

    Tasks:

    • [x] Update Node.js to a supported version
    • [x] Update the packages in package.json to their supported versions
    • [x] Ensure the application still builds and runs successfully
    Frontend 
    opened by JasonFreeberg 2
Releases(v0.0.18)
Owner
null
⏱ A library for working with dates and times in JS

Luxon Luxon is a library for working with dates and times in JavaScript. DateTime.now().setZone("America/New_York").minus({ weeks: 1 }).endOf("day").t

Moment.js 13.4k Jan 8, 2023
A easy-to-use component to show somebody's schedule list to help interview arrangement or visit arrangement.

vue-schedule-board A easy-to-use component to show somebody's schedule list to help interview arrangement or visit arrangement. 中文 To get started, che

jinfang 17 Nov 3, 2022
Convenient Vue wrapper for the add to calendar button snippet, which lets you reliably create beautiful buttons, where people can add events to their calendars.

The Add to Calendar Button - optimized for Vue 3 This is a wrapper repository for the popular Add to Calendar Button, making it even more convenient,

Add to Calendar 3 Nov 9, 2022
VUE chinese-lunar date-picker component with festivals and solar terms

vue-jLunar-datePicker @JinWen Lunar-Date-Picker component, lightWeight, powerful, easy to use, with festival and solar terms. Online demo enjoy the de

null 56 Oct 11, 2022
An elegant calendar and datepicker plugin for Vue.

An elegant calendar and datepicker plugin for Vuejs. npm i --save v-calendar Documentation For full documentation, visit vcalendar.io. Attributes High

Nathan Reyes 3.7k Dec 31, 2022
Full calendar base on Vue2 and momentjs.

Vue2 Calendar Component Full calendar base on Vue2 and dayjs. Support month and week view. Custom date item style with scopeSlots. 中文文档 ?? Live demo I

Kit 75 Nov 11, 2022
Simple and clean calendar written in Vue.js

Vuelendar Simple and clean calendar written in Vue.js. Check out full Vuelendar's documentation here. Features Select single date Select range of date

The Codest 76 Oct 5, 2022
A lightweight collection of Vue components (including molecules and organisms) to manage dates easily

vue-date-tools VueJS Date Components based on the date-fns library Click Here to Try the Live Demo Best features: Lightweight and almost no dependenci

Antoine S 12 Nov 24, 2022
A responsive and customizable Github heatmap calendar.

vue-github-calendar A responsive and customizable Github heatmap calendar for Vue.js Usage Install npm install vue-github-calendar Import the componen

Antoine Carat 4 Mar 18, 2021
List Maker - CQRS and Event Sourcing Example

List Maker - CQRS and Event Sourcing Example This is the frontend app written in Vue.js for the CQRS and Event Sourcing Example project. Usage Instala

Renan Taranto 12 Mar 31, 2022
📅 A feature-rich calendar component, support multiple modes and gesture sliding. For vue 3.0+

?? A calendar component for vue3.0. Support gesture sliding, range selection, according to the week switch...

飞翔的荷兰人 434 Jan 3, 2023
A simple and sweet vue.js calendar

vue-sweet-calendar A simple and sweet vue.js calendar Features Showing Multiple-Events Fully customizable How to install npm install vue-sweet-calenda

Mahdi Aryayi 35 Oct 5, 2022
A collection of components that visualizes DaySpan Calendars and Schedules using Vuetify

dayspan-vuetify A collection of components for Schedules and Calendars in DaySpan using Vuetify This library strives to offer all the functionality an

Philip Diffenderfer 1.1k Jan 6, 2023
A simple vue calendar component. Base for further development and styling.

vue-simple-calendar A simple vue calendar component with minimal css. A base for further development/styling. DEMO Dependencies date-fns, lodash-es In

Roman Ranniew 6 Jun 15, 2022
Contra - Combines GitHub and GitLab contributions calendar to create a single calendar

Welcome to Contra ?? Combines GitHub and GitLab contributions calendar to create

Ahmet Korkmaz 10 Dec 29, 2022
Localized, accessible calendar and datepicker for Vue with no external dependencies

Calendar Localized, accessible calendar and datepicker for Vue with no external dependencies. Installation $ npm install vue-a11y-calendar Pe

Rohan C 0 Feb 11, 2021
Send your loved ones a vibe with a lovely sound, so they know you miss them. Anytime you want to, anywhere they are.

An app to send your loved one a vibration with a lovely sound, so they know you miss them. Anytime you want to, anywhere they are.

fotiecodes 32 Aug 6, 2022
A chrome extension that allows a YouTube watcher to 'bookmark' different parts of a video so that they could come back to it later

A chrome extension that allows a YouTube watcher to 'bookmark' different parts of a video so that they could come back to it later. This is a personal project for fun and learning.

Brian Lin 10 Dec 28, 2022
Allows the components to save and load their data across the browser sessions.

VueStorage Allows the components to save and load their data across the browser sessions. Works for Vue 2 & 3. demo Try it out! dependencies VueDemi s

Sergej Sintschilin 53 Nov 16, 2022
My take on a life planner.

do.Able A life planner capable of handling everyone and everything Setup Make sure to install the dependencies: # yarn yarn install # npm npm install

Cytro 2 Nov 9, 2022