Skip to content

GoldenOwlAsia/webdev-intern-assignment-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

G-Weather-Forecast

This is the instruction for web developer intern assignment at Golden Owl. You will build a simple web.

Web template example Screenshot

Requirements

Use service from api provider https://www.weatherapi.com (free version)

Create a new account and get a new api key.

API doc or swagger Tool:

Your application should have at least features in Must have, things in Nice to have is optional (but yeah, it's attractive if you have).

Must have:

  • All API processing is handled on the backend.
  • Search for a city or country and display weather information:
    • Show the weather includes temperature, wind speed, humidity... for present day.
    • Show forecast 4 days later and more (load more).
  • Save temporary weather information history and allow display again during the day.
  • There is a function to register and unsubscribe to receive daily weather forecast information via email address. Email confirmation is required.
  • Deploy the application to go live.

Nice to have:

  • Responsive design (look good on all devices: desktops, tablets & mobile phones).
  • Smooth animations (just do what you think is good).
  • Setup project use Docker.

Technical Requirements

Frontend

You can use any front-end library/framework like React, Angular, Vue, ... or just simple things with HTML + CSS + Javascript (JQuery).

Backend:

Choose one of your applied back-end libraries/frameworks: Laravel(PHP), Ruby on Rail, NestJS (NodeJs), Django (Python), ... or a structure that you come up with yourselt. Need form validation and logic tightening.

  • OOP programming for object-oriented languages
  • For JS intern you need to have:
    • Use TypeScript (Type, Interface, Omit, Partial...)
    • React Hooks (useState, useEffect, useCallback...)
  • DB: You can use postgreSQL, Mysql, Redis... to manage or cache the data.

Deployment

Some providers allow free deployment for the trial version (note: Maybe some suppliers will update their policies and prices)

  • Heroku - https://heroku.com - Deploying Front & Backend
  • Vercel (Zeit) - https://vercel.com - Deploying Front & Backend apps at free of cost
  • Fly - https://fly.io - Deploying Front & Backend apps at free of cost
  • Deta - https://deta.sh - Deploying Node.js and Python apps and APIs. They support most web frameworks like Express, Koa, Flask, and FastAPI. They also provide a very fast and powerful NoSQL database for free.
  • Heliohost - https://heliohost.org - PHP, Ruby on rails, perl, django, java(jsp)
  • ...

Submission

After completing the assignment, please push the source code to remote repository (github/gitlab), then send us the link to your repository.

Don't forget to add README.md which includes guide to run your project locally and demo link.

GOOD LUCK!!!

Your Code Work

Contributors

  • Edric Cao (from GO)