A web app that can improve your study experience in University of Manchester

Related tags

uom-assistant
Overview

UoM Assistant

An all-in-one productivity tool to help coordinate uni work. Designed for you.

Main Screen

Development

This project is still under development. Please don't use it as a final product.

Progress

Frontend:

  • Clock widget
  • TO-DO widget
  • Coursework widget
  • Course manage widget
  • Calendar widget
  • Quick links widget
  • Online session links widget
  • Quick notes widget
  • Attendance widget
  • Overview widget
  • Inbox widget
  • Grade summary widget
  • Plug-in widget
  • Search
  • Set up guide
  • Settings page
  • About page
  • Logo

Backend:

  • Database
  • Ability check API
  • Attendance API
  • Calendar API
  • Inbox API
  • Send mail API
  • Grade summary API
  • Sync settings API
  • Clear data API
  • CLI tools

Introduction

UoM Assistant is a web app that offers many helpful tools for students in Department of Computer Science, University of Manchester. All the information you need for your study life is now in one place and reachable with a glance.

This project was originally a personal project, born during the pandemic with all the courses were moved to be online, and I needed a panel that could gather and display all the information I needed for study. As the project gradually improved, I started to develop it as a formal project. Therefore UoM Assistant also contains many useful features for remote study.

Features

  • Get known of your course schedule with a glance
  • Open online sessions by one click
  • Easily check your attendance and grades
  • Forget how to calculate the time difference, let the widget tell you
  • Precise time zone and DST support
  • Control all your private data and safely sync them across devices
  • Elegant and easy-to-use UI with dark mode support
  • i18n support: English (UK) and Chinese (Simplified)
  • ...

Deploy guide

Frontend

Download latest frontend.zip from Releases, and decompress the files to the root directory of your site. Note that UoM Assistant must be deployed to the root directory of a site.

To make router working properly, you need to update the config of your server. If you are using Nginx, you can add these lines to your site config:

location / {
  try_files $uri $uri/ /index.html;
}

or you may using Apache:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

Backend

Download latest backend.zip from Releases, and decompress the files to the right place of your site. Edit config.php, and your backend is now on. Note that to enable mail related features you need to install following PHP extentions: fileinfo, imap and mbstring.

Deploy with Docker

If you are using docker, docker-compose.yml has already offered you a good start. Check out the file and modify it as you want.

Build and deploy from source

Make sure you have npm and composer installed.

Frontend

$ git submodule update --init --recursive
$ npm install
$ npm run build

...and deploy the dist folder.

Backend

$ cd backend

...edit config.php, then

$ composer install --no-dev --optimize-autoloader
$ cd ../

...and deploy the backend folder.

Issues
  • chore(deps): bump phpmailer/phpmailer from 6.4.0 to 6.4.1 in /backend

    chore(deps): bump phpmailer/phpmailer from 6.4.0 to 6.4.1 in /backend

    Bumps phpmailer/phpmailer from 6.4.0 to 6.4.1.

    Release notes

    Sourced from phpmailer/phpmailer's releases.

    PHPMailer 6.4.1

    This is a security release.

    • SECURITY Fixes CVE-2020-36326, a regression of CVE-2018-19296 object injection introduced in 6.1.8, see SECURITY.md for details
    • Reject more file paths that look like URLs, matching RFC3986 spec, blocking URLS using schemes such as ssh2
    • Ensure method signature consistency in doCallback calls
    • Ukrainian language update
    • Add composer scripts for checking coding standards and running tests

    Thanks to Fariskhi Vidyan for the report and assistance, and Tidelift for support.

    Changelog

    Sourced from phpmailer/phpmailer's changelog.

    Version 6.4.1 (April 29th, 2021)

    • SECURITY Fixes CVE-2020-36326, a regression of CVE-2018-19296 object injection introduced in 6.1.8, see SECURITY.md for details
    • Reject more file paths that look like URLs, matching RFC3986 spec, blocking URLS using schemes such as ssh2
    • Ensure method signature consistency in doCallback calls
    • Ukrainian language update
    • Add composer scripts for checking coding standards and running tests
    Commits
    • 9256f12 6.4.1
    • fd7ec67 Add more tests for bad paths
    • 26f2848 Reorder path checks, fixes CVE-2020-36326
    • bc51d1f Add not-strictly-necessary backslash to avoid ambiguity
    • 7f267fb Match all RFC3986 scheme patterns
    • b1038ee Add composer scripts for syntax check and tests
    • 0acc57d make text compliance with Ukrainian orthography (#2317)
    • 08cf13b Make use of $to in doCallback consistent, see #2305
    • be427db Make use of $to in doCallback consistent
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
Owner
AxtonYao
Student @ UoM / Member of @hackinit and @TEDxNingbo team / Exploring something cool
AxtonYao
A highly opinionated Vue 2.0 template.

VueCharged Template An opinionated feature-first Vue 2.0 template with CLI scaffolding superpowers. Key Features Features First! Each component create

Daniel Escobedo 17 Mar 24, 2021
Gluing Python web frameworks and Vue.js with a set of scripts... basically a wrapper :smile:

Python and Vue.js gule UPDATE At the moment project is not supported anymore, due to the rapid evolving of the JavaScript ecosystem. It was born like

Christian Strappazzon 37 Feb 26, 2021
An ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI.

Vue Enterprise Boilerplate This is an ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI. Questio

Ben Hong 7k Jun 5, 2021
An ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI.

An ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI.

Ben Hong 7k Jun 3, 2021
A Vue.js starter kit that lets you focus on more programming and less configuration.

vue-starter A Vue.js starter kit that lets you focus on more programming and less configuration. A full-featured Webpack setup with hot-reload, lint-o

Rohit Rai 57 Jul 30, 2020
@Django integrated with a full-featured @Webpack + (@vuejs / vue-loader) setup with hot reload, linting, testing & css extraction.

vue-django-webpack-boilerplate @NdagiStanley has mirrored the fork to have this repo here. This starterpack has proved useful to many and I thank you

Stanley Ndagi 508 Jun 8, 2021
Cookiecutter Django Vue is a template for Django-Vue projects.

Cookiecutter Django-Vue Powered by Cookiecutter, inspired by Cookiecutter Django. Features Docker 12 Factor Server: Nginx Frontend: Vue + vue-cli + PW

Viktor Chaptsev 485 Jun 3, 2021
A Programming Environment for TypeScript & Node.js built on top of VS Code

Programming Environment for TypeScript & Node.js A battery-included TypeScript framework built on top of Visual Studio Code Website Kretes is a progra

Kretes 604 Jun 13, 2021
一个关于vite2+vue3项目开发中常见任务实践的库

Vite2项目最佳实践 配套视频演示 我专门录了一套视频演示本文所做的所有操作,喜欢看视频学习的小伙伴移步: 「备战2021」Vite2 + Vue3项目最佳实践 制作不易,求3连,求关注 vite2来了 Vite1还没用上,Vite2已经更新了,全新插件架构,丝滑的开发体验,和Vue3的完美结合。

村长 129 Jun 2, 2021
🏕 Opinionated Vite Starter Template

?? Opinionated Vite Starter Template

Anthony Fu 1.4k Jun 13, 2021
The most complete boilerplate for production-ready PWAs. With focus on performance, development speed, and best practices

vuesion The most complete boilerplate for production-ready PWAs. With focus on performance, development speed, and best practices 一个灵活的、可扩展的、自定的,已经准备好

vuesion 2.3k Jun 10, 2021
A WordPress theme with the guts ripped out and replaced with Vue.

VueWordPress Theme Starter Features Getting started Video Training Code Organization New to Vue? External References Features coming soon: Changelog V

Evan Agee 1.4k Jun 13, 2021
Light speed setup for MEVN(Mongo Express Vue Node) Apps

Light speed setup for MEVN stack based web-apps Chat: Telegram Donate: PayPal, Open Collective, Patreon A CLI tool for getting started with the MEVN s

madlabsinc 724 Jun 3, 2021
A seed project with vue, vuex, typescript & webpack with hot reloading and all the good stuf

Vue Vuex TypeScript Webpack seed This seed project includes some of the 'hot' and latests web technologies such as TypeScript, Vue, Vuex,Vuex-Typescri

Israel Zablianov 34 Sep 4, 2020