Freerooms Handover 2021
Technologies
Frontend - Vue and Vuetify (Typescript)
Backend - Javascript with Express
Ā
To build the project, follow instructions on the README which can be found in the repo. Apologies if you are using yarn
.
Summary of code
Directory/file | Description |
---|---|
app_modules/ | Contains scraper code |
app_modules/date.js | Scrapes current academic calendar site (https://student.unsw.edu.au/calendar) to retrieve key dates and convert between a week number+day and a date |
app_modules/scrape.js | Scrapes current timetable sitte (http://timetable.unsw.edu.au/current) to retrieve subject areas, then individual courses, then room allocations and their corresponding times for each class in the course. |
docs/frontend_requests.md | Describes how to make a request to the backend from the frontend |
frontend/src | Contains frontend code |
frontend/src/assets | Contains favicon (to be moved to |
frontend/src/components | Contains various components which can be used to build Views |
frontend/src/models | Contains various classes and interfaces to define types of attributes in objects. Also contains an |
frontend/src/plugins/vuetify.ts | Defines the site theme. Dark mode is incomplete |
frontend/src/routes/routes.ts | Defines the possible routes and their associated Views |
frontend/src/services/dbService.ts | An API to call the backend. Some hardcoding present |
frontend/src/services/locationService.ts | An API to access the list of buildings and manipulate it |
frontend/src/store | Used to manage state (unused?) |
frontend/src/views | Contains the various Views i.e. pages of the frontend |
frontend/src/App.vue | Defines template for site - Views will be inserted into this. |
frontend/src/main.ts | Main entry point for the app |
frontend/src/shims-tsx.d.ts | Allows you to useĀ |
frontend/src/shims-vue.d.ts | Ā Helps your IDE to understand what a file ending inĀ |
frontend/tsconfig.json | Configuration file for typescript compilation, imports, type safety etc. |
data.json | Contains data for every single class at UNSW (location and time) - not up to date |
server.js | Describes backend API |