4.5 KiB
4.5 KiB
This page lists potential projects on EWF, this is open for contribution, and if you are a student, don't hesitate to pick on, you will get close support from EWF's team.
Evaluate EWF according to the following constraints ...
- Suggested by Javier
- See http://www.amundsen.com/blog/archives/1130
- Other option is take the following REST implementation toolkit as a guide to evaluate EWF http://code.google.com/p/implementing-rest/wiki/RESTImplementationToolkit.
Libraries: Reusable Client Design based on J.Moore Presentation
- Suggested by Javier
- http://s3.amazonaws.com/cimlabs/Oredev-Hypermedia-APIs.pdf
- video http://vimeo.com/20781278
Hypermedia API library to work with XHTML
- Suggested by Javier
- http://codeartisan.blogspot.com.ar/2012/07/using-html-as-media-type-for-your-api.html
HAL browser
- Suggested by Javier
- written in Eiffel inspired by http://haltalk.herokuapp.com/explorer/hal_browser.html#/
- see http://stateless.co/hal_specification.html
Collection-JSON browser
- Suggested by Javier
- similar to HAL browser but focused on Collection JSON
- see http://www.amundsen.com/media-types/collection/
Build a video to demonstrate how an Hypermedia API works, and how to build it using EWF
- Suggested by Javier
- (maybe based on our graphviz example) or and extension to RestBucksCRUD
Create a Client Cache based on Apache commons Client Cache.
- Suggested by Javier
- http://hc.apache.org/httpcomponents-client-ga/httpclient-cache/index.html
- http://labs.xfinity.com/benchmarking-the-httpclient-caching-module
Security: provide popular authentication mecanisms
- Suggested by Jocelyn
- OAuth: consumer and provider
- OpenID
- Google Connect
- Facebook Connect
- ...
Build clients to consume popular RESTful APIs
- Suggested by Jocelyn & Javier
- Requirement: OAuth client eiffel component
- Google Discovery APIs
- Github
- Flickr
- ... etc
New EWF connectors
- Suggested by Jocelyn & Javier
- LightHTTP connector for EWF
- nginx connector for EWF
- ...
Design and build something like Ruby on Rails or Grails
- Suggested by Javier
- i.e a conventional MVC to create Web Sites
- Could be useful even if this is not the taste of everyone
Road to Hypermedia API
- Suggested by Javier
- describe differents types of Web API, and how you can build them using EWF.
- Describing Pros and Cons.
- based on http://martinfowler.com/articles/richardsonMaturityModel.html
Design a state machine to serve response
- Suggested by Jocelyn
- example: multipage web form
library: Template engine
- Suggested by Jocelyn
- Get inspired by any existing template engine, and build one for Eiffel
- This is not specific to EWF, but it will be very useful in website context
library: Wikitext, markdown parser and renderer
- Suggested by Jocelyn
- Support reading of wikitext, and markdown, and provide HTML rendering
- extension: render wikitext and markdown into Vision2 widget (not related to EWF, but could be useful to build editor)
library: Web component to build HTML5 widget
- Suggested by Jocelyn
- Build set of Eiffel component to ease development of websites
- table widget (with sorting ...)
- suggestive typing widget
- tab ...
- WYSIWYG textarea widget (could reuse existing JS solution ...)
- ...
Eiffel Web Nino
- Suggested by Jocelyn
- Complete implementation of Eiffel Web Nino using pool of threads
- Complete migration of Eiffel Web Nino to SCOOP
- Implement persistent connection
- Improve Nino to become a real solution to host any web services/sites
- ...
Concurrenty and EWF
- Suggested by Jocelyn
- Make sure EWF is compliant with concurrency, provide example
Build a simple CMS with EWF
- Suggested by Jocelyn
- Build a simple CMS website with EWF
- features:
- user management (register, login, lost password -> send email)
- page editing
- blog
- template / theme
- persistency / storage / ...
- extension at compilation time
Provide a Websocket implementation
- Suggested by Jocelyn
- See http://en.wikipedia.org/wiki/Websocket
Build P2P connector
- Suggested by Jocelyn
- Imagine you want to publish a website running on your machine (behing firewall). One would need to initiate the connection via a public website, this is common for P2P software such as remote assistance (i.e: join.me, teamviewer, showmypc, ...)