Git Product home page Git Product logo

saf_proj1's People

Contributors

babymastodon avatar safreiberg avatar

Watchers

 avatar  avatar

saf_proj1's Issues

models

Your models don't express much. Please redo after class today.

Project 1.3 Comments

Login/Session Management - It's a bit wonky. Two relatively big bugs. First, assume I register under username X. If someone else registers under the name X, your site won't complain, but s/he cannot login under that name! Second, after registration, your site redirects to the "You're not signed in!" page. The better thing to do here (from a UX standpoint) is to redirect the user to the main analytics page right after registration. Two relatively minor bugs. First, use better flash messages when registration fails (i.e. "Your password confirmation doesn't match your password!" vs. "Form is invalid."). Second, use hidden text input fields for sensitive form inputs like passwords/password confirmations.

Actual Analytics - No instructions for the user! The only reason I know what to do is because I'm looking at your GitHub readme! :P Going to /sites/idNum is failing; so I'm unable to claim a site to analyze. This means I'm unable to see your extra features work (in addition to being unable to see your P1.2 features work). That being said, it looks like your JS snippet is doing the right thing in terms of grabbing geolocation.

Problem/Design Analysis - Missing context diagram. All design notes and decisions are thorough and well elaborated. Good job on this! Your OM is a bit difficult to read because of the clutter. Are there any unnecessary details you've included? (Maybe the notion of a Hit Count and Duration do not need to be included.) If your OM is tough to read, it becomes meaningless for anyone who doesn't already understand your design. :)

Overall, good try!

Project 1.2 Comments

It works! Solid implementation although the choice to have the user who adds the snippet specify the analytics ID that s/he must first get from you makes your site less accessible/usable. Ideally, a user can include the snippet into his/her site, and the server would handle all the ID-related issues.

Documentation is fine. There are problems with your object model's syntax (i.e. no need to have multiple Page entities), but it's clear you have given the design of the site some thought. We'll go over object models in more detail in upcoming lectures. Also, please specify event models as regular grammars.

Good job!

P1.4 Critique

Project Critique

I like the features you decided to implement for this project, particularly geolocation and showing the number of visitors by hour of the day. Here are my comments for both functionality and design aspect as I see it from your project:

Functionality

User Registration and Session Management

  • I noticed that after user registration, the application redirects the user to a page stating that the user is not logged with a link to the login page. I think it makes more sense if the application automatically sends the user to the dashboard after registration. It's not a big deal, but I think this makes your application more efficient from the UI perspective.
  • User can register with the same email/username. However, the application does not allow login of the second user registering with the same email. Perhaps do some cross-check during the registration process and prevent users from registering already existing emails in the database.
  • Keep sensitive information such as passwords hidden in the input fields.

Analytics Feature

  • I wasn't able to run the analytics feature of your application. For some reason, it is giving me an error when I try to access a site given a site ID. I'm sure your javascript is fine and does the right thing in terms of getting information for your analytics. However, I wasn't able to see your features working. Although, I kind of can picture what to expect.
  • The way I understand this is that in order for the user to 'claim' a ownership (i.e. admin rights) to the analytics of site, the user must go to sites/ID. I'm not just sure what happens if another user (i.e. an unauthorized one) accesses sites/ID with the same ID, does that give access to the other user or just to the first one who visits sites/ID? What if another user visits sites/ID first before the actual user?
  • Perhaps consider allowing the user to add sites instead of having them manually access sites/ID. Also, does the user assign the ID manually? What happens if two different users assign the same ID to different sites? I think it makes more sense to use hostname as Site ID, don't you think? I'm not sure how you ensure that no two ID clashes, but if your implementation does, then using integer ID should be fine.

Design

  • Overall, I like your object model. It is thorough and very clear what the structure is. Good job! Are the hit count and duration for Site and Page unrelated from each other? Do they maintain separate record of those? I think it makes sense that way; I'm just curious how if they are different or related at all. Also should the Pageview be with the Page instead of the Site? What exactly is a definition a Pageview?

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.