Skip to content

Commit

Permalink
Bring to dev (#1108)
Browse files Browse the repository at this point in the history
* chore(deps): update dependency eslint to v8.36.0 (#957)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @testing-library/dom to v8.20.0 (#961)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: olli <[email protected]>

* chore(deps): update `renovate` config

Group minor, patches together.

* chore(deps): update mikefarah/yq action to v4.32.2 (#978)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): lock file maintenance (#945)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update weekly patch updates (#944)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): group `mypy`

* feat(frontend): cache course descriptions (#1004)

* cache `GET /courses/*` requests

* put types in `src/types`

* rename the cache ref variables

* chore(deps): update mypy to v1 (major) (#1029)

* chore(deps): update mypy to v1

* update tuple[int, int] -> tuple[int, optional[int]] for mypy

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: imagine-hussain <[email protected]>

* chore(deps): update dependency @testing-library/dom to v9 (#1020)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @testing-library/react to v14 (#1021)

* chore(deps): update dependency @testing-library/react to v14

* chore(fe-test): use act, fix degree search test

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Leonardo Fan <[email protected]>

* chore(deps): update dependency eslint-plugin-simple-import-sort to v10 (#1022)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency jsdom to v21 (#1023)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency typescript to v5 (#1028)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @ant-design/colors to v7 (#1030)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @ant-design/icons to v5 (#1031)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency framer-motion to v10 (#1040)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: CF-400: dark mode improvements (#1003)

* feat: dark mode functionality added for editMarkModal's input and button elements

* feat: dark mode improvement for editMarkModal's cancel button

* feat: dark mode improvements for OptionHeader icons underneath the 'Term Planner' tab

* feat: dark mode added for the select menu in the settingsMenu tooltip under the TermPlanner tab

* feat: dark mode added to SettingMenu's DatePicker element

* feat: dark mode for export button done + editModalMark bug fixed

* fix: making sure the css for the select element in settingsMenu does not affect other select elements

* feat: dark mode improvement for popconfirm for unplan wanring, import tooltip, also moved the button for import and export tooltip to common styles

* feat: dark mode scrollbar added

* feat: dark mode scrollbar on courseSelector menu had ugly white padding, fixed it to be #333 color instead

* fix: href in courseSelector not very readable in dark mode, made the text a bit brighter and made a styled component for it

* feat: dark mode added for search bar

* feat: dark mode added for remove planner button

* fix: forgot to add the new styles.ts file

* feat: progressBar's text color and trailing color fixed

* feat: dividing line in courseDescription changed from white to a dark grey

* feat: bug icon turned into dark mode

* feat: dark mode added for quick add and remove buttons in course menu

* feat: courseProgression progress bar trailing color changed to dark grey

* feat: progress on dark mode for graph, need to save this commit before I merge in the latest changes since the graph was changed

* feat: dark mode for graph complete (nodes, arrows, hover states) + label now changes on hover (non-dark mode feature)

* feat: buttons on graphical selector are dark mode

* feat: saving progress on converting courseDescription panel to dark mode

* feat: dark mode added to the sidebar

* feat: sidebardrawer color changed, box shadow added to tabs so it looks more visible in dark mode

* feat: new images added in help menu in course selector, dark mode versions added too

* feat: TermPlanner's help menu tooltips now have dark mode pics and gifs

---------

Co-authored-by: Daysure <[email protected]>

* feat: CF-423: additional styling on course node hover (#1034)

* feat: dark mode functionality added for editMarkModal's input and button elements

* feat: dark mode improvement for editMarkModal's cancel button

* feat: dark mode improvements for OptionHeader icons underneath the 'Term Planner' tab

* feat: dark mode added for the select menu in the settingsMenu tooltip under the TermPlanner tab

* feat: dark mode added to SettingMenu's DatePicker element

* feat: dark mode for export button done + editModalMark bug fixed

* fix: making sure the css for the select element in settingsMenu does not affect other select elements

* feat: dark mode improvement for popconfirm for unplan wanring, import tooltip, also moved the button for import and export tooltip to common styles

* feat: dark mode scrollbar added

* feat: dark mode scrollbar on courseSelector menu had ugly white padding, fixed it to be #333 color instead

* fix: href in courseSelector not very readable in dark mode, made the text a bit brighter and made a styled component for it

* feat: dark mode added for search bar

* feat: dark mode added for remove planner button

* fix: forgot to add the new styles.ts file

* feat: progressBar's text color and trailing color fixed

* feat: dividing line in courseDescription changed from white to a dark grey

* feat: bug icon turned into dark mode

* feat: dark mode added for quick add and remove buttons in course menu

* feat: courseProgression progress bar trailing color changed to dark grey

* feat: progress on dark mode for graph, need to save this commit before I merge in the latest changes since the graph was changed

* feat: dark mode for graph complete (nodes, arrows, hover states) + label now changes on hover (non-dark mode feature)

* feat: buttons on graphical selector are dark mode

* feat: saving progress on converting courseDescription panel to dark mode

* feat: dark mode added to the sidebar

* feat: sidebardrawer color changed, box shadow added to tabs so it looks more visible in dark mode

* feat: new images added in help menu in course selector, dark mode versions added too

* feat: TermPlanner's help menu tooltips now have dark mode pics and gifs

* feat: highlight adjacent nodes and edges on hover

* feat: highlight adjacent nodes opacity updated

* refactor: graph.ts, changing function names and object names to be more readable:

* feat: implemented a function that checks if a course is a prereq based on GraphData without calling the backend

* fix: two graphs get rendered if you switch tabs fast enough

* feat: created a function to store a hashmap of prereqs for later use for node styling

* fix: updated the function that checks for coursePrerequisite

Other options are:
1. Rely on GraphData, however it gets laggy when you hover over too many nodes
2. API call - would get slow with multiple requests
3. CourseEdge info gets stored into a hashmap at initialisation, so checking for prereqs is fast afterwards

* refactor: graph.ts function and object names made more readable

* refactor: rewriting the returns and using spread operator to reduce repetition in graph.ts

* feat: highlight prerequisite nodes on hover

* refactor: splitting functions up as they were getting too long

* fix: if the dark mode button is toggled on and off, it repaints the canvas more than one time

* feat: highlighted incoming edge if it's a prerequisite as well

* feat: forgot to add pics into the HelpMenu for the new graphical selector hover node feature

---------

Co-authored-by: Daysure <[email protected]>
Co-authored-by: Leonardo Fan <[email protected]>

* chore(deps): update dependency mypy to v1.2.0 (#1049)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): remove react-svg as not used (#1044)

* chore(deps): group `vite`

* chore(deps): update dependency requests to v2.31.0 [security] (#1055)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Make course menu bar resizeable (#1042)

* hotfix: fix the type err in the run script

* feat: CF-356: unlocked course nodes added to graphical selector (#1035)

Different course node stylings added for the following states:
- course node is added to the planner
- course node is unlocked (i.e. meets the prereqs for that course)
- course node that is locked
https://csesoc.atlassian.net/browse/CF-356
---------

Co-authored-by: Daysure <[email protected]>
Co-authored-by: Leonardo Fan <[email protected]>

* fix(deps): update weekly minor updates (#1050)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): bump tough-cookie from 4.1.2 to 4.1.3 in /frontend (#1065)

Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/salesforce/tough-cookie/releases)
- [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md)
- [Commits](salesforce/tough-cookie@v4.1.2...v4.1.3)

---
updated-dependencies:
- dependency-name: tough-cookie
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: CF-421: adding or removing courses now reflect in the graphical selector (#1037)

* feat: dark mode functionality added for editMarkModal's input and button elements

* feat: dark mode improvement for editMarkModal's cancel button

* feat: dark mode improvements for OptionHeader icons underneath the 'Term Planner' tab

* feat: dark mode added for the select menu in the settingsMenu tooltip under the TermPlanner tab

* feat: dark mode added to SettingMenu's DatePicker element

* feat: dark mode for export button done + editModalMark bug fixed

* fix: making sure the css for the select element in settingsMenu does not affect other select elements

* feat: dark mode improvement for popconfirm for unplan wanring, import tooltip, also moved the button for import and export tooltip to common styles

* feat: dark mode scrollbar added

* feat: dark mode scrollbar on courseSelector menu had ugly white padding, fixed it to be #333 color instead

* fix: href in courseSelector not very readable in dark mode, made the text a bit brighter and made a styled component for it

* feat: dark mode added for search bar

* feat: dark mode added for remove planner button

* fix: forgot to add the new styles.ts file

* feat: progressBar's text color and trailing color fixed

* feat: dividing line in courseDescription changed from white to a dark grey

* feat: bug icon turned into dark mode

* feat: dark mode added for quick add and remove buttons in course menu

* feat: courseProgression progress bar trailing color changed to dark grey

* feat: progress on dark mode for graph, need to save this commit before I merge in the latest changes since the graph was changed

* feat: dark mode for graph complete (nodes, arrows, hover states) + label now changes on hover (non-dark mode feature)

* feat: buttons on graphical selector are dark mode

* feat: saving progress on converting courseDescription panel to dark mode

* feat: dark mode added to the sidebar

* feat: sidebardrawer color changed, box shadow added to tabs so it looks more visible in dark mode

* feat: new images added in help menu in course selector, dark mode versions added too

* feat: TermPlanner's help menu tooltips now have dark mode pics and gifs

* feat: highlight adjacent nodes and edges on hover

* feat: highlight adjacent nodes opacity updated

* refactor: graph.ts, changing function names and object names to be more readable:

* feat: implemented a function that checks if a course is a prereq based on GraphData without calling the backend

* fix: two graphs get rendered if you switch tabs fast enough

* feat: created a function to store a hashmap of prereqs for later use for node styling

* fix: updated the function that checks for coursePrerequisite

Other options are:
1. Rely on GraphData, however it gets laggy when you hover over too many nodes
2. API call - would get slow with multiple requests
3. CourseEdge info gets stored into a hashmap at initialisation, so checking for prereqs is fast afterwards

* refactor: graph.ts function and object names made more readable

* refactor: rewriting the returns and using spread operator to reduce repetition in graph.ts

* feat: highlight prerequisite nodes on hover

* refactor: splitting functions up as they were getting too long

* fix: if the dark mode button is toggled on and off, it repaints the canvas more than one time

* feat: highlighted incoming edge if it's a prerequisite as well

* feat: forgot to add pics into the HelpMenu for the new graphical selector hover node feature

* feat: unlocked course nodes are now distinct from planned and locked courses

feat: HelpMenu pictures were also updated

* fix: adding and removing courses in graphical selector, updates the node in the graph without re-render

refactor: graph.ts duplicate function removed

* fix: endArrow opacity of graph was not changing on hover

* fix: instead of using courseSlicer, used axios request to update unlocked nodes after adding to planner

---------

Co-authored-by: Daysure <[email protected]>

* fix: CF-425: cleaning graph loading screen (#1039)

* feat: dark mode functionality added for editMarkModal's input and button elements

* feat: dark mode improvement for editMarkModal's cancel button

* feat: dark mode improvements for OptionHeader icons underneath the 'Term Planner' tab

* feat: dark mode added for the select menu in the settingsMenu tooltip under the TermPlanner tab

* feat: dark mode added to SettingMenu's DatePicker element

* feat: dark mode for export button done + editModalMark bug fixed

* fix: making sure the css for the select element in settingsMenu does not affect other select elements

* feat: dark mode improvement for popconfirm for unplan wanring, import tooltip, also moved the button for import and export tooltip to common styles

* feat: dark mode scrollbar added

* feat: dark mode scrollbar on courseSelector menu had ugly white padding, fixed it to be #333 color instead

* fix: href in courseSelector not very readable in dark mode, made the text a bit brighter and made a styled component for it

* feat: dark mode added for search bar

* feat: dark mode added for remove planner button

* fix: forgot to add the new styles.ts file

* feat: progressBar's text color and trailing color fixed

* feat: dividing line in courseDescription changed from white to a dark grey

* feat: bug icon turned into dark mode

* feat: dark mode added for quick add and remove buttons in course menu

* feat: courseProgression progress bar trailing color changed to dark grey

* feat: progress on dark mode for graph, need to save this commit before I merge in the latest changes since the graph was changed

* feat: dark mode for graph complete (nodes, arrows, hover states) + label now changes on hover (non-dark mode feature)

* feat: buttons on graphical selector are dark mode

* feat: saving progress on converting courseDescription panel to dark mode

* feat: dark mode added to the sidebar

* feat: sidebardrawer color changed, box shadow added to tabs so it looks more visible in dark mode

* feat: new images added in help menu in course selector, dark mode versions added too

* feat: TermPlanner's help menu tooltips now have dark mode pics and gifs

* feat: highlight adjacent nodes and edges on hover

* feat: highlight adjacent nodes opacity updated

* refactor: graph.ts, changing function names and object names to be more readable:

* feat: implemented a function that checks if a course is a prereq based on GraphData without calling the backend

* fix: two graphs get rendered if you switch tabs fast enough

* feat: created a function to store a hashmap of prereqs for later use for node styling

* fix: updated the function that checks for coursePrerequisite

Other options are:
1. Rely on GraphData, however it gets laggy when you hover over too many nodes
2. API call - would get slow with multiple requests
3. CourseEdge info gets stored into a hashmap at initialisation, so checking for prereqs is fast afterwards

* refactor: graph.ts function and object names made more readable

* refactor: rewriting the returns and using spread operator to reduce repetition in graph.ts

* feat: highlight prerequisite nodes on hover

* refactor: splitting functions up as they were getting too long

* fix: if the dark mode button is toggled on and off, it repaints the canvas more than one time

* feat: highlighted incoming edge if it's a prerequisite as well

* feat: forgot to add pics into the HelpMenu for the new graphical selector hover node feature

* feat: unlocked course nodes are now distinct from planned and locked courses

feat: HelpMenu pictures were also updated

* fix: adding and removing courses in graphical selector, updates the node in the graph without re-render

refactor: graph.ts duplicate function removed

* fix: endArrow opacity of graph was not changing on hover

* fix: instead of using courseSlicer, used axios request to update unlocked nodes after adding to planner

* fix: searchbar hidden while graph loads

fix: random course node that pops up is hidden now

feat: show all courses toggle has a loading screen now too

* docs: forgot to update comment which I copy pasted in

* fix: no-non-null-assertion warning fixed in graph.ts

---------

Co-authored-by: Daysure <[email protected]>

* feat(frontend): add option to ignore course in progression checks (#1059)

* Add option to ignore course in progression checks

* Fix progression check page

* Remove eslint-disable

* Address PR comments

* feat: CTF Challenge for 2023 Projects Fair (#1081)

Added CTF challenge for the 2023 Projects Fair. More information on https://levelup-ctf.csesoc.app/

---------

Co-authored-by: Bahnschrift <[email protected]>
Co-authored-by: Leonardo Fan <[email protected]>

* chore: fix CD manfiest branch

* chore: fix CD manfiest pull branch

* in the arena trying stuff (#1082)

* hotfix(ctf): fixing even terms (#1083)

* hotfix(ctf): ensure that even check term starts evens

* hotfix(ctf): ensure that even check term starts evens

* mypy

* minor comment

* chore(deps): update dependency python-dotenv to v1 (#1026)

* chore(deps): update ci-actions (#1070)

* chore(deps): update dependency types-paramiko to v3 (#1027)

* chore(deps): update dependency eslint-config-prettier to v9 (#1085)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* data/2024_handbook_migration (#1091)

* change LIVE_YEAR to 2024

* add 2023 to archive data

* update 2024 programs

* update 2024 specialisations - NEED TO FIX any_level

* update courses

* update conditions to 2024 and manual fixes

* finalise data-fix

* some autotests fix

* rerun datafix with new handbook in DB

* fix indirect unlock test

* more validation test fixes

* CI but shorter ignore times

* mypy

* skip test_validation

* fix get_followups

* fix: commented out ctf code (#1096)

* feat: Add devsoc logo and replace most csesoc references (#1097)

* feat: Add devsoc logo and replace most csesoc references

* fix: changed all csesoc styled component names

* feat: add UNSW branding

---------

Co-authored-by: ollibowers <[email protected]>

* fix: moved UNSW to front of label (#1098)

* feat: the devsocening (#1100)

* chore: update CODEOWNERS for 2024 devsoc (#1102)

* chore: update CODEOWNERS for 2024 devsoc

* feat: a notification for our ongoing subcommittee recruitment (#1103)

* feat: recruitment notification on page load

* fix: made the notification only appear every 23 hours

* add sponsors to landing page (#1104)

* add sponsors to landing page

* fix: add more gap between the sponsors

---------

Co-authored-by: ollibowers <[email protected]>

* feat/contribution notif+branding (#1107)

* fix: Update Devsoc branding in footer

* feat: open source contribution notification

* fix: update branding and features

* changed notification icon from smile to megaphone

* fix compilation errors

* fix small issue

* fix: some frontend bugs

- no longer refetches on focus loss
- primary colour is now brighter
- term planner loads when zero courses

* small fixes

* add tokeignore to stop the lines of code thingo from crashing so much

* fix: graph styles not resetting properly

* fix: bad effect dependency in CourseMenu causing infinite recalls and added a memo

* fix: added key props to tabs and course attributes

* fix: tried to get progression checker as best as i could

* fix: progression checker button styles

* fix: term boxes shrinking and refresh bug on term planner page

* fix: brought back the export/import planner menus but commented out

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: olli <[email protected]>
Co-authored-by: Jared L <[email protected]>
Co-authored-by: Martin <[email protected]>
Co-authored-by: imagine-hussain <[email protected]>
Co-authored-by: Leonardo Fan <[email protected]>
Co-authored-by: Sandeep Das <[email protected]>
Co-authored-by: Daysure <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lucas <[email protected]>
Co-authored-by: imagine-hussain <[email protected]>
Co-authored-by: Bahnschrift <[email protected]>
Co-authored-by: sachk <[email protected]>
Co-authored-by: Bob Chen <[email protected]>
Co-authored-by: sacha <[email protected]>
Co-authored-by: Jeremy Le <[email protected]>
Co-authored-by: Peter Derias <[email protected]>
  • Loading branch information
18 people authored Mar 29, 2024
1 parent a5e25f1 commit 7f1acf6
Show file tree
Hide file tree
Showing 47 changed files with 1,652 additions and 1,056 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- component: frontend
dockerfile: production.dockerfile
args: |
"API_URL=https://circlesapi.csesoc.app"
"API_URL=https://circlesapi.devsoc.app"
- component: backend
dockerfile: production.dockerfile
steps:
Expand Down
1 change: 1 addition & 0 deletions .tokeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
**.json
7 changes: 3 additions & 4 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
.github/ @csesoc/technical
renovate.json @csesoc/technical
* @devsoc-unsw/circles-leads

backend/ @imagine-hussain
frontend/ @leonardo-fan
.github/ @devsoc-unsw/platform
renovate.json @devsoc-unsw/platform
52 changes: 26 additions & 26 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,44 +1,44 @@
Circles
Circles

Copyright (C) 2023 CSESoc UNSW
Copyright (C) 2024 DevSoc UNSW

This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
Software Foundation at version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
You should have received a copy of the GNU Affero General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.

# AGPL-v3 License Extension
# AGPL-v3 License Extension

1. You may use, copy, modify, and distribute this software under the terms of
the AGPL-v3 license, provided that you include this license extension in all
copies or substantial portions of the software.
1. You may use, copy, modify, and distribute this software under the terms of
the AGPL-v3 license, provided that you include this license extension in all
copies or substantial portions of the software.

2. You may not use this software for commercial purposes, including but not
limited to selling, renting, or licensing the software or any derivative works
thereof.
2. You may not use this software for commercial purposes, including but not
limited to selling, renting, or licensing the software or any derivative works
thereof.

3. If you distribute this software, you must make the source code available
under the AGPL-v3 license and this license extension, and must include a copy
of this license extension with any binary distribution.
3. If you distribute this software, you must make the source code available
under the AGPL-v3 license and this license extension, and must include a copy
of this license extension with any binary distribution.

4. If you modify this software, you must indicate in the source code that
changes have been made and provide the modified source code under the terms of
the AGPL-v3 license and this license extension.
4. If you modify this software, you must indicate in the source code that
changes have been made and provide the modified source code under the terms of
the AGPL-v3 license and this license extension.

5. This license extension applies to the entire software, including any third-
party components included in the software.
party components included in the software.

6. If you use this software in a product that is freely available to the
public, you must give full credit to the original authors of the software by
prominently displaying the following attribution in the product: "This product
includes software developed by CSESoc UNSW."
includes software developed by DevSoc UNSW."

7. This license extension shall not be interpreted to affect the validity or
enforceability of the AGPL-v3 license.
7. This license extension shall not be interpreted to affect the validity or
enforceability of the AGPL-v3 license.

19 changes: 9 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
[![CSEsoc](https://img.shields.io/badge/-CSESoc-blue)](https://www.csesoc.unsw.edu.au/)
![Status](https://img.shields.io/website?label=status&up_message=online&url=https%3A%2F%2Fcircles.csesoc.unsw.edu.au%2F)
[![Frontend Build](https://github.com/devsoc-unsw/Circles/actions/workflows/ci_FE.yml/badge.svg)](https://github.com/devsoc-unsw/Circles/actions/workflows/ci_FE.yml)
[![Backend Tests](https://github.com/devsoc-unsw/Circles/actions/workflows/ci_BE.yml/badge.svg)](https://github.com/devsoc-unsw/Circles/actions/workflows/ci_BE.yml)
[![DevSoc](https://img.shields.io/badge/Devsoc-dark?color=3c424b)](https://devsoc.app/)
[![Status](https://img.shields.io/website?url=https%3A%2F%2Fcircles.devsoc.app%2F&up_message=online&label=status)](https://circles.devsoc.app/)
[![Unit Tests](https://github.com/devsoc-unsw/Circles/actions/workflows/ci.yml/badge.svg)](https://github.com/devsoc-unsw/Circles/actions/workflows/ci.yml)
[![Pylint](https://github.com/devsoc-unsw/Circles/actions/workflows/pylinter.yml/badge.svg)](https://github.com/devsoc-unsw/Circles/actions/workflows/pylinter.yml)
![Lines of code](https://img.shields.io/tokei/lines/github/devsoc-unsw/Circles)
![GitHub Repo Size](https://img.shields.io/github/repo-size/devsoc-unsw/Circles)
Expand All @@ -12,13 +11,13 @@ Tired of using a poorly laid out spreadsheet to cobble together a plan to follow

Circles is a UNSW degree planner where you can explore and validate your degree structure.

You can find a live build of Circles at [https://circles.csesoc.app](https://circles.csesoc.app/).
You can find a live build of Circles at [https://circles.devsoc.app](https://circles.devsoc.app/).

## Features

![Features Help Image](https://raw.githubusercontent.com/devsoc-unsw/Circles/dev/frontend/src/assets/infographic.png)
![Features Help Image](./frontend/src/assets/infographic.png)

NOTE: we currently only support a subset of courses that have the highest enrolments, such as Engineering, Commerce, Computer Science, and Science. We do plan to add more!
NOTE: we currently only support a selection of degrees - but we will add more!

- Adaptive course selector:
- Allows you to explore your currently unlocked courses
Expand All @@ -30,7 +29,7 @@ NOTE: we currently only support a subset of courses that have the highest enrolm
- Validates your progression to make sure you've met the requirements for future courses
- Allows you to generate a saveable and sharable image of your plan

- Progression checker:
- Progression checker: (NEW PAGE!)
- Lets you understand which requirements you have met and which you still need to complete
- Shows you what courses you can do to complete your degree

Expand All @@ -44,8 +43,8 @@ This project is rapidly expanding and our roadmap includes features such as:

# Our team

We are a team that is part of CSESoc Projects! See [TEAM.md](./TEAM.md) for more information on the current and previous team that contributed to the development of Circles.
We are a team that is part of DevSoc! See [TEAM.md](./TEAM.md) for more information on the current and previous team that contributed to the development of Circles.

Also, special thanks to James Ji, Vincent Xiao, Hayes Choy for being the first team to work on and inspire Circles :)

[For further development documentation, a linktree to our jira boards and more!](https://compclub.atlassian.net/wiki/spaces/C/pages/1664385928/About+Circles)
[For further development documentation, visit our confluence page!](https://devsoc.atlassian.net/wiki/spaces/C/pages/756966/About+Circles)
3 changes: 1 addition & 2 deletions backend/server/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"http://frontend:3000",
"http://frontend:3001",
"https://circles.csesoc.unsw.edu.au",
"https://circles.csesoc.app",
"https://circles.devsoc.app",
"https://cselectives.staging.csesoc.unsw.edu.au",
"https://cselectives.csesoc.unsw.edu.au",
]
Expand Down Expand Up @@ -59,4 +59,3 @@ async def index() -> str:
def live_year() -> int:
""" sanity check for the live year """
return LIVE_YEAR

2 changes: 1 addition & 1 deletion docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: '3.8'

services:
mongodb:
image: mongo:6.0.5
image: mongo:6.0.14
container_name: mongodb
volumes:
# Named volume to persist database
Expand Down
4 changes: 2 additions & 2 deletions frontend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

If you are doing superficial work with the frontend and do not need to communicate with the backend, you can `cd` to the `frontend` folder, run `npm install` to install required packages locally, and then `npm start`. This is faster than running docker compose since you avoid having to set up the backend and mongodb containers.

> NOTE: Your frontend requests will be fetching from `https://circlesapi.csesoc.app` and the production version of the Circles API will be used to handle your backend requests.
> NOTE: Your frontend requests will be fetching from `https://circlesapi.devsoc.app` and the production version of the Circles API will be used to handle your backend requests.
### Option 2: Using Docker

Expand Down Expand Up @@ -46,7 +46,7 @@ In `frontend.env`, add:

- `VITE_BACKEND_API_BASE_URL=http://localhost:8000/`

> NOTE: The `VITE_BACKEND_API_BASE_URL` environment variable is the base url endpoint that the backend is running on. If the environment variable is not specified, the react application will default to using `https://circlesapi.csesoc.app/` as the base url when calling the API endpoint.
> NOTE: The `VITE_BACKEND_API_BASE_URL` environment variable is the base url endpoint that the backend is running on. If the environment variable is not specified, the react application will default to using `https://circlesapi.devsoc.app/` as the base url when calling the API endpoint.
Feel free to replace username and password to any value. The username and password in `backend.env` must match the values in `mongodb.env`. The `env` folder has been added to `.gitignore` and will not be committed to the repo.

Expand Down
Loading

0 comments on commit 7f1acf6

Please sign in to comment.