Giter Club home page Giter Club logo

mygcc-application's Introduction

Facade

Build Status

Preview of Login in Facade Preview of Grades in Facade

Supported systems

  • Windows 10
  • Ubuntu
  • macOS

Requirements

  • Qt 5.2 or later
  • CMake 3.0 or later
  • C++11 compiler for your target platform (GCC, Clang, MSVC, MinGW, etc.)

Build on Ubuntu (recommended)

./scripts/build_ubuntu.sh

Build on macOS

cd mygcc-application
git submodule update --init --recursive

mkdir build && cd build
cmake ..
cmake --build .

Build on Windows

  1. Install CMake, Qt5, Visual Studio.
    • Must install "MSVC 2015 32-bit" Qt library.
    • For Visual Studio, Community edition is fine, pick the "Desktop development with C++" option, or at least VC++.
    • You must add Qt to the path (setx CMAKE_PREFIX_PATH "C:\Qt\5.10.1\msvc2015")
  2. Using the Qt Command Prompt (Qt 32-bit for Desktop (MSVC)), navigate to the project directory, then run:
    • mkdir build
    • cd build
    • cmake ..
    • cmake --build . (or msbuild /m facade-application.sln in VS developer command prompt for multicore building)
  3. Copy all resources from the folder and subfolders of C:\mygcc-application\res\ to C:\mygcc-application\build\Debug
  4. Include mygcc-api-with-dependencies.jar from mygcc-api.
  5. Copy needed DLLs from C:\Qt\5.10.1\msvc2015\bin to C:\mygcc-application\build\Debug

Build Documentation

Generating documentation requires Doxygen

doxygen scripts/Doxyfile

mygcc-application's People

Contributors

davidcorbin avatar mitchharvey avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mygcc-application's Issues

Major icons needed!

// Sets icon file name based on course code. Assumes that the icon exists
// without checking. There should be a different relevant icon for each major.
void SidebarIcon::setIcon(const Course *course) {
const std::string code = course->getCode();
if (code == "Home") {
svgFilename = new std::string("home");
} else if (code.find("BIOL") != std::string::npos) { // BIOL class
svgFilename = new std::string("flask");
} else if (code.find("COMP") != std::string::npos) { // COMP class
svgFilename = new std::string("computer");
} else if (code.find("MATH") != std::string::npos) { // MATH class
svgFilename = new std::string("division");
} else if (code.find("WRIT") != std::string::npos) { // WRIT class
svgFilename = new std::string("pen");
} else {
svgFilename = new std::string("home");
}
}

The setIcon method figures out what icon to use based on a substring of the course code. We need to have a different icon for most, if not all, majors.

Show dates as relative if coming soon

For example instead of showing "March 22nd" show "Tomorrow" or "Today" (or possibly "yesterday")
totally optional, but some people might like it, also then its easier to make sure you don't miss an assignment.

Java executable must be in PATH for application to work

Since switch from JNI to using the java executable to run the API server, the java binary must be found in the $PATH environmental variable. If not, the server won't start.

I don't think that java is automatically added to the $PATH variable on any OS so this is not a feasible way to find the java executable. I don't know of and haven't found any documentation on how to find the java executable path immediate after the Oracle java installer is run.

When application starts up no assignments are shown

When the application is loading assignments from the api there is no visual feedback that anything is happening. it appears to just not show any assignments.

we should have something that says loading or some other way so that users know it is pulling information

White outline on linux

There is a white outline on the left, bottom, and right edges of the window in Linux.

Font is different weights bold on different OS

On Ubuntu the font is heavy bold when it is the name of the assignment (Compared to regular weight due date):

On macOS the font is still bold (you can compare to the due date again), but looks thinner than Ubuntu's bold:

Windows is also different but looks closer to macOS:

Application doesn't run of macOS 10.12

Expected Behavior

Application should run.

Actual Behavior

Application doesn't start and the OS gives an error:

screen shot 2018-04-07 at 5 20 46 pm

Specifications

  • Version: 0.4.1
  • Platform: macOS 10.12

API server not starting from the Program Files directory

Expected Behavior

API server should start when the application starts.

Actual Behavior

API server is not starting.

Steps to Reproduce the Problem

  1. Run facade.exe from the Program Files (x86) directory on Windows.

Specifications

  • Version: Latest
  • Platform: Windows 10

No feedback for feedback

No confirmation is given when feedback is submitted.
There should be a message showing that submitting feedback was successful, people like that

mygcc-api server running multiple instances

Expected Behavior

The API server should stop every time the application closes. Alternatively, the application could check that the server was not running when the app started the server at startup.

Actual Behavior

When the app is stopped from the command line, IDE, task manager, or any way other than the red x in the menu bar, the server keeps running.

Specifications

  • Version: Latest (0.2)
  • Platform: All

Application not opening on mac

Expected Behavior

Application should open.

Actual Behavior

Application doesn't open and gives an error message:

screen shot 2018-04-07 at 4 48 51 pm

Specifications

  • Version: 0.4.1
  • Platform: macOS

Initialization vector and encryption key not being read from disk

Expected Behavior

Initialization vector and encryption key should be read from disk and returned as char *.

Actual Behavior

Either empty or invalid string being returned. However, the first time the initvect and enckey are generated and stored in memory, they work correctly to start the server.

Specifications

  • Version: Latest (0.2)
  • Platform: All

Extremely slow startup

The application is very slow to startup because the font rendering in the CourseAssignmentItem class. Needs different implementation.

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.