GithubHelp home page GithubHelp logo

jpadilla / notaso Goto Github PK

View Code? Open in Web Editor NEW
20.0 20.0 6.0 2.44 MB

Conoce a tus profesores antes de llegar al salón.

Home Page: http://www.notaso.com/

License: Other

Python 8.75% CSS 1.62% HTML 11.61% JavaScript 77.86% Shell 0.12% Dockerfile 0.05%

notaso's People

Contributors

eluciano11 avatar jorgeluis11 avatar jpadilla avatar jpadilla1 avatar luisjorge129 avatar rnegron avatar

Stargazers

 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  avatar  avatar  avatar

notaso's Issues

Ignored files

Se escaparon algunos files que no deben de estar tracked en git.

  • admin/
  • static/uploaded_files/
  • storage.db

Pueden borrar esos files, añadirlos al .gitignore, y commit los cambios. Futuros cambios a esos files no van a ser tracked por git.

Deploy to Heroku

Some things needed for deploying to Heroku.

  • Cling - for serving statics easily
  • Postgres DB
  • Emails - Sendgrid or Mandrill
  • Django settings specific to production environment

Google Chart uses HTTP

Cuando entras al profile de un profesor, el google chart usa HTTP y conflige con el HTTPS de nosotros. Verifique y no podemos simplemente ponerle https al link del chart.

Lo que se me ocurre que no sea rehacer el chart en alguna otra cosa es setup esto en heroku para proxy las imagenes: https://github.com/atmos/camo

Esto es lo mas importante ahora.

Order universities by number of professors

universities/views.py

    universities = University.objects.all()
    universities = list(universities)
    universities.sort(key=lambda x: x.count(), reverse=True)

universities/models.py

    def count(instance):
        return Professor.objects.filter(university=instance).count()

Note: That view only, shoots out 212 queries in 42.31 MS

Remover fixtures

Tenemos que remover del repo los fixtures, por lo menos los de los usuarios ya que contienen emails y estarían públicos en el repo para que spammers le metan mano.

Una vez estemos seguro de que todo está en Heroku debemos de remover los fixtures del repo y del history del repo.

Calificaciones

Generosidad:
Estupenda, Buena, Regular, Justa, Injusta

Competencia:
Sumamente Capacitad@, Capacitad@, Mediocre, Incompetente, Sumamente Incompetente

Aprendizaje:
1-5

Cuando se crea un profesor tiene calificaciones bajas por default.

Una cosita que note, es que cada vez que se crea un profesor sale con F y 5 en todo (las calificaciones malas), sin tener ningún comentario, lo malo de eso es que si alguien lo crea y no comenta el profesor se queda en el top 5 de los peores en esa universidad :/.

Ejemplo de esto: https://notaso.herokuapp.com/professors/jose-juan-diaz-caballero/

Alguien creo a Jose Juan Diaz y como no ha comentado sale en el top 5 de los peores profesores de la UPRB, una posible solución es que si un profesor no tiene comentario o ninguna calificación que no salgan.

Si el nombre del profesor es muy largo el div se descuadra.

Si el nombre del profesor es muy largo (como sucede con Sandra I Rodriguez Maldonado) el div se descuadra un poquito, no es algo grave, pero lo menciono por si les interesa :P.

screen shot 2014-05-15 at 7 12 50 pm
Esto fue en la Universidad de Humacao en el departamento de biologia.

Make sure we're using the latest stable Django version that includes simple settings.

No se que versión de Django estamos usando porque no tenemos un requirements.txt. Debemos de make sure que estamos usando el latest 1.6.1. Estamos usando una versión que tiene un settings.py más complicado. Cuando uno instala y genera un proyecto nuevo con la última versión de Django, termina con un settings.py mas o menos así: https://github.com/django/django/blob/master/django/conf/project_template/project_name/settings.py

Debemos de usar este para clean up todo ese mess en el file viejo.

Nota: Nunca debemos de tener paths absolutos en los settings compartidos como /home/emmanuel/django-team-projects/notaso/storage.db. Esto se puede hacer dinamico para que funcione en cualquier maquina. Si necesitan ayuda o algún ejemplo me avisan.

Missing requirements.txt

En Python, el best practice es mantener un file en el root del proyecto que se llame requirements.txt. Este file contiene todos los packages que fueron instalados con sus versiones. Pueden generarlo corriendo lo siguiente en el terminal:

pip freeze > requirements.txt

Search Engine

Deberían arreglar el search engine ya que al buscar un profesor que su nombre tenga asento este no aparece. Ejemplo: Si busco a Ramón escribiendo Ramon (sin acento) este no aparece, hay que ecribirlo con acento para que aparezca, y casi nadie utiliza acentos al utilizar el search engine.

Things we can add

Pienso q estaria cool q la persona pueda poner de la A a la F o 1 al 5 el nivel de aprovechamiento academico, si aprendio en la clase o no. Tambien la recomendacion que le dio Bras a Jose de poner cuantas personas le han hecho rate a ese profesor para q sea mas fiable la informacion.

Recomendations

Se me ocurrio en el viaje de Maya a casa q estaria cool q para cada departamento se le podria a~adir alguna seccion q los profesores puedan dejar recomendaciones de clases, por ejemplo en ciencias de computadoras lenguajes... No se, solo una idea, q piensan?

Email + Password Authentication

Tenemos que figure out que vamos hacer para autenticación regular con email y password.

Tenemos que implementar https://github.com/pennersr/django-allauth para que funcione con lo que tenemos al momento. La idea es que vamos a enviar un email a todos los usuarios diciendo que estamos re-launching, si ya tenias una cuenta pues ve a Forgot Your Password. Si no me equivoco allauth trae eso ya set, so podemos take advantage de eso, así cualquier usuario que tenga una cuenta y no tiene un password puede crearle uno a su cuenta.

User settings

Necesitamos un form para que el user pueda update su nombre, email(maybe debemos de enviar el confirm your email again, no se si allauth tiene esto), etc. Debemos de surface change password(all auth creo que tiene esto). y lo de los social accounts.

REST API with Django Rest Framework

Luego podemos implementar un API con Django REST Framework para el app. Podríamos hacer una primera versión del API readonly para poder consumir la data disponible de los profesores, universidades, etc.

Setup Social accounts

Tenemos que configurar los Twitter y Facebook apps, más configurar los Social Accounts en Django.

Testing

Sería buena idea una vez tengamos una versión estable y funcionando de la aplicación escribir unittests. Es super importante y más si queremos que sea un proyecto transparente y open source. Es la única forma sane de saber que un cambio no rompió la aplicación y sigue funcionando como esperamos.

https://docs.djangoproject.com/en/dev/topics/testing/

Update apps/project structure

Me gustaría que todos los apps estuviera dentro del project folder notaso. Sería algo así:

  • notaso
    • comments
    • professors
    • etc..

Formatting

Deberiamos de usar indentation usando espacios con un width de 4.

Ejemplo de a 8 espacios:

class RegistrationForm(UserCreationForm):
        firstname = forms.CharField(max_length=30)
        lastname = forms.CharField(max_length=30)
        email = forms.EmailField(max_length=50)

Ejemplo a 4 espacios:

class RegistrationForm(UserCreationForm):
    firstname = forms.CharField(max_length=30)
    lastname = forms.CharField(max_length=30)
    email = forms.EmailField(max_length=50)

Error en moviles

No se pueden calificar profesores utilizando la pagina movil, ya que la pagina solo permite calificar una una solo categoria a la vez. Es decir, si califico la responsabilidad con una "A" y luego en la dificultad marco el #1 la opcion "A" se desmarca, y asi sucesivamente.

Anonimo con foto de facebook.

Entre a la pagina por curiosidad y en la pagina principal en los comentarios recientes veo a un anonimo con imagen de facebook:

screen shot 2014-04-05 at 2 12 47 am

Update README

Antes de hacer el repositorio público, deberíamos de actualizar el README.md con información del proyecto, instrucciones para correrlo, como contribuir, etc.

Search Results

Necesitamos traer o re-implementar el HTML/CSS de la página de resultados para poder implementar basic search.

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.