Week 1:


  • server install and secure,

  • domain DNS,

  • HTTPS certificate,

  • service init,

  • app template,

  • html template,

  • login/logout,

  • database init,

  • users creation and update,

  • simple tables CRUD :

    • user,

    • person,

    • contact,

    • address,

    • article,

  • file upload,

  • image upload,

  • mail send,

  • explore without credentials


Week 2:


  • invite a contact,

    • mail the invite,

  • display an invite,

    • create a user from an invite,

  • forgot password page,

    • forgot password mail,

    • reset password page,

  • person page with contacts and with addresses,

    • navigation for contacts and addresses,

  • lists with big boxes and icons,

  • html purify,

  • help page,

    • changelog page


Week 3:


  • create a CV,

    • add experiences to a CV,

    • add skills to a CV,

    • display a CV,

    • print a CV in PDF,

    • add picture to a CV,

  • display a person,

    • add picture to a person,

  • navigation keeps context:

    • get, set, new, del

  • create a website,

    • add article to a website,

  • mobile display,

  • switch to a PostgreSQL database


Week 4:


  • create a discussion with a user

    • add messages to a discussion,

  • real-time refresh of the discussion, in case of:

    • new message, set message, del message

  • experiences have beginning date and end date

  • URLs display the object ID (ie. “/get/person/bob”)

  • in explore, flush after 1 hour or 1 day or 1 week

  • filtering of “name” fields

    • “display” fields auto-complete “name” fields


Week 5:


  • create a news feed by name,

    • lucky guess the news website URL,

    • locate the RSS feed in the website home page,

    • read and parse the RSS feed,

    • load all the articles,

      • load all the article images,

    • display the articles nicely,

    • auto refresh the RSS feed,

  • prevent a service restart while serving a response or performing work


Week 6:


  • add random 50, 500, 5000 elements in lists (articles, messages),

  • limit and offset in lists (articles, messages),

  • pager on long lists with partial smooth refresh (articles, messages),

    • dynamic refresh while sliding the cursor,

  • create a question,

    • create an answer to a question,

  • create a project,

    • create a task into a project