This is the Github page for BearStatus, a schedule keeper for The Blake School. It is available at http://bearstatus.blakeschool.org
shickey / bearstatus Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
This is the Github page for BearStatus, a schedule keeper for The Blake School. It is available at http://bearstatus.blakeschool.org
Often when we want to add a special schedule, it's really just a modification of the normal schedule. Also, if we make a mistake when adding a new schedule, it'd be nice to not have to reinput all the block names and times. Can we figure out how to populate the edit form with the existing schedule of the day?
When I try to go to the app url /date, I get the following error. I think that backend just did not import the jinja2 module for that page and did not set the path to the templates folder like in main.py.
https://gist.github.com/kahayes14/e154adbbc0d897d2766a
I'm honestly not sure the answer to this.
Integration: Change current MainHandler request handler to load when /schedule is loaded
What should the function do if no block matching the current time is found?
Part of being a responsible software developer is choosing how and under which terms we want other people to use to our code. In that spirit, many projects include a LICENSE file in their git repository to explain the terms and conditions of using/reusing/building on top of the code. Check out http://choosealicense.com/ and see what you think about which license we should use. Come to a consensus as a MGMT team, then propose your idea to the larger group.
The schedule page has a few things that need to be fixed before we are done. First, there is no nav bar at the top. Second, The start time for each block does not show up, it just says time. Third, the name of the page should be changed from Testing Template to something else.
Typically, we name classes using UppercaseCamelCaseStyle meaning that the first letter of each word (including the first) should be capitalized. Let's change the names of the models in models.py to reflect this naming convention.
When updating the schedule of the day for the hockey game day, I actually ran out of rows to use. Can we update this page to have a dynamic number of blocks (i.e., a simple way to add and delete rows from the form)? We will probably need to update the requets handling code on the submission side as well to handle a general number of blocks.
The < div > boxes for the Welcome Message and the Current Block sections have disappeared now that we've separated the HTML, and now that we've implemented the grid system from Bootstrap. Opening the index.html file directly from my computer works, however opening it using Google App Engine Launcher doesn't. (Sorry about the spaces, it reads it as HTML otherwise.)
@thankeny @ynomir50 @pmcarlson15 feel free to try and figure this out as well and fix it.
It looks like app engine doesn't always call warmup requests, so putting the block creation in the main code may be necessary.
https://developers.google.com/appengine/docs/adminconsole/instances#Warmup_Requests
One possible workaround is to put the line model.initBlocks()
in main.py. If I do that, it will run on the first load, I am not sure what happens when a new instance is loaded.
It looks like the function now() inside main.py is not returning the correct True or False value. Check what datetime.now().time() is returning to see if the time calculation is happening correctly.
The title says it all really @bweinshel can you post the link to the google app tutorial on the static files that you had before down below? Thanks
When starting the website, there is an error that says:
TemplateSyntaxError: Unexpected end of template. Jinja was looking for the following tags: 'endfor' or 'else'. The innermost block that needs to be closed is 'for'.
Full error can be seen at: http://pastebin.com/VN6McLMy
line 33, schedule = schedule() should be schedule = BlockModels.schedule() to reference schedule function in block models file
fixed in commit 9ed225d
Let's brainstorm some ways to make the timepicker more user friendly. A quick google search brought me here: http://jdewit.github.io/bootstrap-timepicker/ which may or may not be a good solution for us. I'm open to ideas here.
When attempting to go to the schedule or admin page, I get a 404 error (Page not found). This also happens on all other pages with a nav bar as well, besides the schedule button on the edit.html page.
Also, we should make all of the buttons in the nav bar say the same thing on each page. I was looking at the templates, and the admin button is different on almost all of them.
EDIT: I also discovered that the home button does not work. I think that it is supposed to go to "/" instead of "/index"
Looks like there's two favicon files in the repository right now. Once we make a decision about which one we want to use in the final version, remove the other one.
When I go to /edit, I get an error (in the console logs) that says
File "/Users/seanhickey/Development/Blake/csfinal/edit.py", line 62, in <module>
('/edit', EditHandler)
TypeError: 'tuple' object is not callable
I think you all run into this same issue with main.py a few days ago.
Now that you have SourceTree up and working, edit the README file to include your name and then push back up to github.
Frontend uses the variable "i" for their template, but you have it defined as "block" in the MainHandler. the variable "block" that you are trying to pass to frontend does not exist either.
When you call this function with a list of todays blocks, an error is thrown saying that you "cannot compare datetime.datetime with datetime.time". You need to make the variable current to be in the format of datetime.time, not datetime.datetime.
Make new request handler for main page (current block) and have it load when "/" (the root url) is loaded
on /date clicking on logo: goes to /index, should go to /
on /edit clicking on logo: goes to /index.html, should go to /
on /edit clicking on save: goes to /schedule, should it go to front page?
edit button on /dates does nothing
Previously they were:
i.name
i.stime
i.etime
The error can be found here:
http://pastebin.com/G5GvcjHf
Modify app.yaml using instructions here to allow only administrators to access the page /edit. When /edit is loaded, have app engine run edit.py (which will have has appropriate request handler)
It's href = "#" where do we want this to redirect to? /schedule or /index?
This will have to be in a separate file (edit.py) because we will have set up that script to load only on successful admin login.
This request handler won't have to do anything yet.
Our HTML templates need to have the correct links added to the navbar/buttons etc.
Is the for loop necessary? If it is, then you guys need to end it somewhere. Also, the variables for time that you have (i.stime & i.etime) are not correct. They should be (i.sTime & i.eTime)
Update the HTML templates to use bootstrap to handle the major layout decisions (e.g., update the front page to use the grid system to layout the two boxes instead of custom HTML)
Figure out how to create a more robust implementation for CST in our code. Look into pytz (or perhaps other libraries) to see if there's an existing object/implementation we can use.
If there is no next item in the block list, then the website crashes when you try and load it. You need to add a conditional statement to only return a next block if there actually is one.
Added the .js file, and used the code and correct stylesheets, but the popup calendar won't show up, even when I simply open the file directly from my computer.
The links at getbootstrap.com should not be used in our final code. Instead we need to change the bootstrap links in our HTML templates to point at the bootstrap CDN server.
Currently, the font of the BearStatus logo only renders if the Skia font is installed on the device. You'll notice that the font doesn't render correctly on an iPhone. Let's figure out how to use a service like the google font API (https://developers.google.com/fonts/) to serve the font to the device.
Here's a potential issue which kind of spans both backend and integration: If the first user to use the app doesn't go to the front page first, then the initBlocks() method won't be run. Let's try to figure out how to run the init code when the app boots. Then, remove the initBlocks() call inside the MainHandler.
Kevin, I'm going to assign to you, but make sure you keep Ben informed about what's going on.
Now that the app is live and being used "in the wild", one thing that would be smart for us to do is add some links to report bugs and submit feature requests. For the moment, it sounds like google forms may be a good way of doing this (I'm happy to set those forms up). Let's add something to the site that allows users to access those forms. My immediate thought is to add a small footer area to each page that contains the links, but I'm open to other ideas as well (@bweinshel, you mentioned maybe wanting to put together an "about" page).
On days where we have special circumstances (e.g., school closings or even just a special assembly), it'd be nice to have a place to display extra information about the day. Bootstrap has an "alert" component which may be handy
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.