yacs-rcos / yacs-admin Goto Github PK
View Code? Open in Web Editor NEWAdmin panel for YACS
License: MIT License
Admin panel for YACS
License: MIT License
I'm assuming the database will be empty if we get rid of the ActiveResource models on the test branch. Ideally we should seed the DB from the YACS API first (or at least some of the data) so we have some data.
Tables were ugly before
If a course has multiple instructors, they all show in an array-like object. Create a new line for each instructor instead for a more user-friendly view
The cucumber tests seem to be very verbose since objects have a lot of fields.
Refactor the tests so that they have data tables as seen here.
Rails 4.2.6 has some known vulnerabilities. Rails 4.2 is still supported but will probably reach end of life in the nearish future. It would be easier to upgrade to rails 5 sooner than later but its not a huge priority. Please do enforce ruby 2.4.0 in the Gemfile though.
We need a Dockerfile for this. You don't have to use docker in development at this point but I want to be able to easily build and deploy it when we are ready.
"Show", "Edit", and "Destroy" are awfully close on the index pages
Section view only shows course name and section number right now
The "Back to Top" link shouldn't be right next to the image
Should be a quick fix
Right now, the "new ___" links are VERY tiny!
Improve UI by adding an icon before "new __" as well as "show", "edit", and "destroy"
Just realized the section show view is incomplete, I should probably do that
On master, we're using the actual YACS API. However, it would be nice if I had an admin panel for full CRUD before YACS API implements it for more seamless integration.
In order to do this, we need an ActiveRecord model for courses, sections, departments, and schools so that we do not need to rely on the YACS API. We could also test independently of the YACS API so that the actual YACS product isn't affected by an inevitable screwup on my end.
Of course, implementing this in the master would be really confusing, so I propose having a separate branch just for this.
Since we're moving to unit testing vs. a testing branch, create tests for functions we already
Right now, there is no icon configured for the app. Add the icon from the main YACS project and the YACS blog to make the UI more uniform.
The same snippet of code to get instructors on one line is used twice. This calls for another partial
Now that course table, show courses (with a few modifications to the show course page), and search courses homepage features all pass, create a scenario to search for a course.
An 8am class shows 68:0 PM. Please fix
The search link should link to the search form, with the department code automatically added to the query.
In issue #33 , I will have the navbar highlight where the user is. This will be a lot easier if the navbar is a partial rather than hard-coded into the application view.
When hovering over links, they all white out. This should only happen in the navbar
Keep instructions relevant to current functionality of panel
Right now our root page is empty!
I get "unexpected token '', JSONError" whenever I run the search courses test
There is a LOT of data in the API. Table headers need to be pinned to the top when scrolling
When viewing a course, the section table shows sections of that course. Yet the course id is still displayed. Add an option in the partial to hide the id
Right now, only index view is supported for each model.
Create the show view.
In courses, this will show course description and all sections of the course.
In schools, this will show all departments in the school.
In departments, this will show all courses in the department.
In sections, this will link back to the course
In the YACS app, a school has many departments, which have many courses, which have many sections.
Sections belong to a course
Courses belong to a department
A department belongs to a school
Implement these relationships in the models themselves.
When a user is viewing an object, there should be a link to add a department to a school, a course to a department, a section to a course, a period to a section, etc.
Right now, the "department link" does nothing
This will make a much easier UX for course management
All links right now still point to my personal profile vs YACS-RCOS
Right now, activeresource's GET format for an object with id <id>
is:
.../courses/<id>.json
Yet YACS's format is:
/api/v5/courses.json?id=<id>
This makes the show view a lot more complicated than thought.
Create a custom function to get around this in the show function
Form for each object with search bar and parameters
So far, each object table is repeated twice, and if we want to implement search, this will be three times. Move each table to its own partial for more DRY code.
Before add and edit views are implemented, there should be a form for each object (school, department, course, section, period). This will avoid repeating code
YACS API only supports search for courses. Get rid of search links for everything else
When I go to the course page for 0 # features/step_definitions/webrat_steps.rb:10
expected an attributes Hash, got ["id", "0"] (ArgumentError)
./app/controllers/course_controller.rb:19:in `show'
./features/step_definitions/webrat_steps.rb:12:in `/^I go to (.+)$/'
features/manage_courses.feature:15:in `When I go to the course page for 0'
Then I should see "Physics" # features/step_definitions/webrat_steps.rb:94
This is the error I get
Some pretty big changes were just made -- but the readme says we still only have index pages.
Add search bar for courses. This is low priority.
RSpec is currently missing.
For example, if the user is viewing courses, "courses" should be highlighted.
The highlight should be red text on white background, contrasting with standard white text on red background
This may be redundant, but possibly worthwhile and rather quick
An issue for labeling issues. How meta.
Of course if I actually labeled issues this wouldn't be an issue.
Most search engines have this feature, making for a better UX. However, the current system does not. This might be a bit of a stretch seeing as this would require a massive amount of calls to the YACS API.
All CREATE/UPDATE/DESTROY operations in the YACS API will be secured with an API key. Ultimately, we would like a have a full user and login system not just for admins, but for students as well. In order to push the admin panel out faster, we may want to just give it a single API key (stored on the environment) and lock down the entire site with a single set of credentials using HTTP basic auth. The built in support for this would make this trivial to implement. We can then release the admin panel before the login system is complete, and switch to the true authentication system once it is complete.
TL;DR - For now we probably just want HTTP basic auth with credentials and api key stored in the environment.
We should get more of the basic functionality done before this is implemented, though.
There should be ActiveRecord models for each model in the YACS API. That way, we can test CRUD without affecting the API.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.