Find Jobs
Hire Freelancers

Javascript calendar/scheduling component with working backend

$500-5000 USD

Cancelado
Publicado hace más de 11 años

$500-5000 USD

Pagado a la entrega
We are looking for someone to implement a javascript calendar/scheduling component along with a working backend. The client side component must be javascript and connect to it's datasource via ajax calls to the server component. Functional Requirements Two pages should be created. The first page should be an index page containing a list of users preconfigured in a database. This page does not have to look pretty, and is intended solely to help us prove that the implementation can support calendars for multiple users. When clicking on a user's name, the page should transition to another page that contains a wired up implementation of a calendar component populated with data for the selected user. Changes to a given users calendar should not be reflected in the calendar of other users, but should persist in a database. The calendar should have all of the same functional requirements as can be seen at this link: <[login to view URL]> including but not limited to 1. A Day, Week, Month and Year view of the calendar 2. A section at the top where multi day events are shown when in Day and Week view 3. Support for dragging in the Day and Week views 4. The ability to jump to the "Today" view 5. The ability to have back and forward buttons like in the demo ## Deliverables Functional Requirements Two pages should be created. The first page should be an index page containing a list of users preconfigured in a database. This page does not have to look pretty, and is intended solely to help us prove that the implementation can support calendars for multiple users. When clicking on a user's name, the page should transition to another page that contains a wired up implementation of a calendar component populated with data for the selected user. Changes to a given users calendar should not be reflected in the calendar of other users, but should persist in a database. The calendar should have all of the same functional requirements as can be seen at this link: <[login to view URL]> including but not limited to 1. A Day, Week, Month and Year view of the calendar 2. A section at the top where multi day events are shown when in Day and Week view 3. Support for dragging in the Day and Week views 4. The ability to jump to the "Today" view 5. The ability to have back and forward buttons like in the demo With the exception of a few things that will be mentioned below, we want something that looks and behaves exactly like the calendar in that link. The exceptions to this are: 1. We obviously don't want the banner bar at the top that toggles you between demos 2. This demo has a bug where the alignment is off on the right side of the multi-day events in Day and Week mode. Everything must align properly. 3. When clicking on the calendar to create an event, we don't want the inline event creation to occur as in the demo. Instead, we would like a dialog to popup in the same way that it does in this demo: <[login to view URL]>. 4. The look and feel of the event creation dialog must retain the same look and feel as in the basic demo. You can see a visual of this dialog by selecting the "details" icon on an existing event. 5. The event creation dialog must support recurring events as is shown in the <[login to view URL]> demo. 6. The event creation dialog must contain an additional section labeled "Category" which contains a drop down of the following pre-populated categories "Category 1", "Category 2" and "Category 3". 7. The event creation dialog must also contain a "Name" and "Location" field represented as simple input text boxes. The new "Name" field must be used in the calendar views instead of the Description and is a required field. The description and location are not required. 8. The background color of the events in the calendar views should be tied to the "Category" selected. That is, all events of the same category should have the same color but each category should have different colors. 9. We don't like the spacing on the left side of the event boxes in the Day and Month views. In the demo, icons fill this space when you select an event. We would like to have that space filled in with the event. When a user clicks on an event simply show the event popup dialog. 10. There is no need for an inline edit of the name. All edits and deletes can occur within the event dialog. Things that aren't immediately clear but must be properly supported: 1. Overlapping events should render side by side. You can see examples of this in the demo by creating a few events near each other in time. 2. When you edit a recurring event, there should be an option to edit the single event or the series. Technical Requirements: Backend The backend implementation must be written against Play 2.0.3 using Java. All data must be stored in Postgres 9.1.X. Templates must be using the standard Scala templates as described in the Play 2 documentation and not any third party modules. The persistence code should be written against the EBean ORM but EBean queries aren't strictly required if you feel that plugging in raw SQL would be sufficient. We just want you to do that in an EBean friendly manner. Unit tests are required for all custom Java code in the form of junit tests. Third party, public libraries may be mocked in your tests. If mocking is performed, Mockito with an optional PowerMock addon should be the mocking framework of choice. Full 100% coverage is not required, but all major functionality should be exhausted. We must approve all third party libraries that are not provided out of the box with Play, with the exception of the ones we've already mentioned. The schema needed to persist the temp users, calendars and events should be defined in a Play framework evolutions script. This script should also contain a few default users that we can test against. The tables should be normalized with columns for each discreet data element, no storing of blobs of XML, JSON, etc., and all tables should be stored under a postgres schema named "calendaring". All data calls to the server must be in a single Controller that handles nothing but ajax data requests. Nothing else should be in this controller. These requests should follow best practice RESTful conventions and return JSON as output. Client The following javascript libraries are permitted: jQuery, Twitter Bootstrap 2.01, underscore, mustache and icanhaz. Approval is required for any additional library. We prefer not to add anything else to the mix, but if you can make a good case for it we will listen. This component will eventually be used in a couple apps that are all built around jQuery/Bootstrap. This means that the component must play nicely with the libraries mentioned above, most importantly within Twitter Bootstrap. You can feel free to use as many Twitter Bootstrap styles as you would like, but the main requirement is that it should behave properly when placed within a Twitter Bootstrap container. The most common scenario is for it to sit within a span12 div and therefore must do so in the working example. The application should have the same L&F and be completely functional on the latest versions of IE, Chrome, Firefox, Safari for OSX and Safari for iPad. The component must be capable of shrinking to the width of a vertically aligned iPad while preserving all alignment. Additional Details Instructions should be provided to guide us on how to add/remove categories and how to configure the color for these categories. This list does not need to be driven from the DB, but it should be easy for us to modify as needed. The final deliverable must be in the form of a complete Play app that I can unzip, startup play and execute immediately without any tweaking. The configuration should be preset to postgres on localhost, default port, user name postgres, password postgres and database named "calendardemo".
ID del proyecto: 2780066

Información sobre el proyecto

5 propuestas
Proyecto remoto
Activo hace 12 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
5 freelancers están ofertando un promedio de $5.710 USD por este trabajo
Avatar del usuario
See private message.
$3.000,50 USD en 14 días
5,0 (7 comentarios)
3,8
3,8
Avatar del usuario
See private message.
$13.560,04 USD en 14 días
4,2 (4 comentarios)
3,8
3,8
Avatar del usuario
See private message.
$4.000,10 USD en 14 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
See private message.
$3.989,05 USD en 14 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
See private message.
$3.999,25 USD en 14 días
0,0 (2 comentarios)
0,0
0,0

Sobre este cliente

Bandera de UNITED STATES
Chesapeake, United States
5,0
1
Forma de pago verificada
Miembro desde oct 10, 2012

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.