This is the instruction for web developer intern assignment at Golden Owl. You will build a simple web.
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).
- 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.
- Responsive design (look good on all devices: desktops, tablets & mobile phones).
- Smooth animations (just do what you think is good).
- Setup project use Docker.
You can use any front-end library/framework like React, Angular, Vue, ... or just simple things with HTML + CSS + Javascript (JQuery).
- Fonts (optional);
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.
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)
...
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!!!
- Edric Cao (from GO)