Giter VIP home page Giter VIP logo

termup's Introduction

TermUP logo

TermUp

Assistant tool for planning your semesters.

Preview image for TermUp

๐Ÿ’ก About the app

This is a tool for the students of University of Tehran helping them pick courses for their future semester. The app enables students to see their weekly schedule beforehand and find timing interceptions between the courses they're thinking about selecting rather than finding them through trial and error during the actual selection period. Users can search between the courses that are being taught in the next semester by entering the title of the course or the name of the professor who teaches the subject. Then they can add the course to their planning board and see how it looks among their other choices and know whether there are any timing conflicts between what they've already picked.

๐Ÿ“š Using it!

A live version is already deployed and ready to be used here. Keep in mind that TermUp only consists of a client-side webapp, therefore all of your data including the courses you've picked and your preferences are stored locally on your device. To be more specific the app stores this data on the local storage your browser allocates to the website. You can always get rid of this data by clearing the local storage of your browser.

๐Ÿ‘ฉโ€๐Ÿ’ป Building the app

Follow the steps below if you want to build the source code to either make changes for yourself or contribute to the project.

  1. Make sure you have the latest version of Node.JS and NPM installed on your machine.
  2. Install Vue-cli by running npm install -g @vue/cli
  3. Clone the project or download the source code as a .zip file and switch directory to the root folder of the repository.
  4. Run npm update to install the dependencies.
  5. Run either npm run dev to boot the local server or npm run build to build the project.

Note: I'm using IRANYekan as the default typeface for TermUp. However, this font is a premium font being sold at fontiran.com. Feel free to change the font-family according to your personal preference. If you want to see TermUp as published by the original developers purchase IRANYekan and copy IRANYekanWeb files(.ttf/.eot/.woff/.woff2) to public/fonts. For icons, I've used Material Design Icons for this project. Version 6.9.5 is included in public/css and public/fonts. Feel free to upgrade this library to the latest version if you desire. You can also use the CDN links currently commented in public/index.html.

โœ‹ Contribution

This project is maintained by passionate students. We are open to your contributions in these two ways:

  1. Extracting data ems.ut.ac.ir and reformatting it to be used by the app.
  2. Contributing in the application development process by adding features/resolving and bugs and reporting issues you encounter.

See data contribution guide to find out how you can extract course data from Golestan system and convert it to a .json file expected by the app.

๐ŸŒน Acknowledgements

TermUP is the result of collective effort of enthusiast students of University of Tehran who like to do open-source. I'd like to thank anyone who contributes by writing code or collecting or processing data. This repository in particular helps you to convert raw HTML table data from University's online administration service to suitable .json data files accepted by TermUP.

The online version of TermUP is hosted by Liara which is an amazing PaaS provider based in Iran.

termup's People

Contributors

adib-rezaei avatar armanhajmohammadi avatar danamira avatar mvajhi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

adib-rezaei

termup's Issues

Problem with manually added courses

When the user picks a course that has been added manually, the /result and /print routes won't show anything. Needs fixing.
This is probably because a property used in these routes is missing from the course object that has been placed inside the picked array.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.