GithubHelp home page GithubHelp logo

icssc / antalmanac Goto Github PK

View Code? Open in Web Editor NEW
55.0 55.0 62.0 16.77 MB

A course exploration and scheduling tool for UCI Anteaters

Home Page: https://antalmanac.com

License: MIT License

HTML 1.92% CSS 2.45% JavaScript 0.77% TypeScript 94.85% Shell 0.01%
icssc uci

antalmanac's People

Contributors

adcockdalton avatar alyzsat avatar ap0nia avatar braedons avatar chasec99 avatar clippyforever avatar dependabot[bot] avatar devsdevsdevs avatar douglas-hong avatar ecxyzzy avatar emmohac avatar ericpedley avatar falsidge avatar fatimazali avatar indigo-n-i avatar jace070 avatar jackyzzzz avatar justinekoa avatar kartik-bhagatwala avatar kevinwu098 avatar malaya7 avatar minhxnguyen7 avatar monixyou avatar ryanmohta avatar srukelman avatar stevenguyukai avatar the-rango avatar voark avatar will-hou avatar willsunnn avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

antalmanac's Issues

mkae it work on ie and edge

pygal graphs not working on either, isee blank
i thinkn just hafta settle for noninteractive graph on those

About Module

  • Add "About" button to navbar
  • Create a popup module (similar to the notifications one but bigger) for information about the project.

Information to include

  • How we're maintained by ICSSC Projects
  • Link to Discord (discord.gg/GzF76D7UhY)
  • Link to GitHub

Maps: Customize the popup with compliant design

image is the current layout. We should come up with a more compliant and aesthetic design for this.

Design needs to integrate an image carousel since multiple images are available in buildingCatalogue.js now.

News display

I want to add a little box/area where we can put in information about changes, news information, etc. We need to implement a backend endpoint that serves this data to the frontend. We can rapidly and easily change the information displayed by editing the mongoDB with the information we'd like to serve. This would be good for instances where we announce new features or changes or even notices if our services are unavailable (like AANTS) etc.

  • Create datatabase location and data model
  • Create API endpoint
  • Implement frontend

Light colored events

If you change the color of the event to white

When changing color of events to light colors, font color should change accordingly for better visibility. Also add border in case of white.

sql

currently enrollment history data are kept in a .txt file
very not safe and very inefficient
need to implement sql system asap!

Seaching is slow

It takes two seconds to get the search result back for searching for all CS classes. I noticed that the response time is directly proportional to the number of entries returns back.

image

Show Course Overview

The result page for searching all class in CS is super long and it takes a long time to scroll through.
It would be nice to only show an overview of each course on the result page. And we can click on each class the expand to get a detailed description.

Looking for something better

This is an really amazing project in technical aspects. You guys solve many technical challenges that the AntPlanner was not able to solve. But from a user's persepctive, this app does not offer enough reasons why I should switch from the AntPlanner, which is what I am really familiar with, to the AntAlmanac.

One issue most of AntPlanner's predecessors have is that they look and function exactly the same as the old AntPlanner. There's a weekly calendar on the left half of the page, there's a place where you can search for classes on the right half. You can save or load a schedule using a unique ID. And you can add a class to the schedule by clicking on the class tile.

It's okay to borrow ideas from other apps. But AntPlanner is a crappy app, and that's why you guys are trying to build something that's better. AntPlanner is just an app that a random dude hacked together over a weekend. He didn't design this thing at all. He just grabbed a calendar from a library, put WebSoc into a iframe, then stuff them together in a single webpage. He didn't even bother to add a "Add" button, instead you just click on the class tile to add a class.

I like the material UI that you guys built. It looks really pleasant. And I like the features you guys added here and there. But there no appealing reasons why I would prefer AntAlmanc than AntPlanner. Both of them are the same, it just that one of them has a more modern GUI. I hope you guys can look into some other popular calendar apps outside of UCI, and build something better that the users can just ditch AntPlanner right away.

Maps: Refactor and enhancements

  • Implement a carousel for multiple images
  • If multiple courses are at the same location, show number of overlapping courses and list all courses at the location
  • Use addedCourses instead of eventsInCalendar to create markers

Search query validation

When searching for a class, the user must provide at least one of the following:
GE OR Department OR Course Code/Range OR Instructor.

If all of those are missing, the search button should be disabled.

Mobile site

Instead of adapting the desktop site to be mobile compatible with responsive design, I think we should design a fully mobile experience and deploy on m.antalmanac.com or something like that.

Reduce app bundle size

Right now the bundle (which you can get by running npm run build inside the client directory) stands at ~6.8 MB. This is significantly smaller when g-zipped, but is still way too large and could be trimmed down. We should look into webpack minification customization, make sure tree shaking is working, and also figure out if we want to bundle images and other static files.

Implement SectionTable with material-ui table

  • Change vanilla HTML components to Material UI components
  • Give each cell max-width so that every table aligns nicely
  • Change text and section type colors so that they look good with dark mode
  • See if we can optimize mounting of various modals etc (also avoid having every single table listen to the Flux store which warns as a memory leak)

Laggy When Hover Over Course Code

It's slow to scroll when hover the mouse over the course code on the search result pane. It's normal if I place the mouse somewhere else.

out-1

Snackbar not rendering properly

Issue

Screen Shot 2020-12-01 at 4 51 21 PM

Potential Causes?

After some digging, I have some guesses

  • Something to do with position: relative in .MuiButtonBase-root because disabling it in the inspector "fixes" it but causes problems with the buttons themselves.
  • Something to do with the z-index being manually set?
  • This article mentions something about absolute vs relative, and which gets the priority during render

Prompt to save before navigating away

For accidentally swiping back in the app, which cleared the schedules the user is drafting.
There should be a confirmation to exiting or hitting the back button.

MobileCalender.js: Undefined variable 'getDay'

When accessing older schedules on both mobile and desktop (specifically when the window is minimized for desktop), error occurs with getDay variable, declaring it as undefined. Newer schedules work perfectly fine.

"Add Custom Events" box improvements

  • Disable "Add Event" button in modal until boxes have been checked to select both the day(s) and the selected schedule(s)
  • Add a tool tip message over disabled "Add Event" button indicating that the days and schedule boxes need to be checked.
  • Cancel button should clear the event name

Create Privacy Policy

We'll need to mention what information we're storing (course codes, schedule names, etc.) and what information we are tracking (Google Analytics).

Google Analytics might provide specific language for us to include in our privacy policy.

Readme Revamp

  • Add project description
  • Add screenshot of project
  • Add history of project
  • Add technologies used

Keep search results page up when switching tabs

Right now, if you search for classes, then go to the maps or added classes tab, going back to the search tab will show you the form. We need to keep the search results pane mounted somehow, with little cost to performance.

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.