Frontend Course Requirements
This document describes all requirements that you must complete as part of finishing your project. You are strongly encouraged to implement your own ideas to showcase the range of your technical abilities - now is the time to push yourself! Don't forget to implement the requirements below, first, though.
Product Requirements
Users must be able to:
Technical Requirements
Data
Use 1 (or more) external APIs to support your apps dynamic features
Store appropriate data persistently (e.g. via an API and/or local storage)
Security and error handling
Input sanitisation - Ensure all user input is cleaned to prevent security vulnerabilities
Form validation - Validate user input to make sure they fit appropriate criteria (e.g. strong passwords)
Error handling - Sufficient handling of issues and errors to avoid the app breaking
Architecture
Component-based architecture
Handle routing of multiple pages with React Router
UX and Design
Responsive design (e.g. a layout that adapts to different screen sizes graciously)
Consistent styling approach (e.g. component-specific styles, CSS modules)
Basic accessibility (e.g. semantic HTML, alt-text, keyboard navigation on forms)
Organisational Requirements
Work as a team of 4-5 trainees to complete the project together
Assign clear roles and/or areas of ownership between each team member
Use Trello to organise your project tasks and visualise your progress
Define all of your tasks clearly using Trello cards
Organise your team using weekly sprints
Run weekly planning sessions to decide on the next tasks and priority order for the sprint
Submit small pull request(s) for each task, ready to be reviewed by other team members before merging
Deliverables
To submit your finished project, you will need:
A deployed and working app accessible via the browser with a public URL
Code versioned using git along with meaningful commit messages
Code pushed to a public GitHub repo on your profile
A README in the root of your repo including:
A project description
How to run it locally
A link to your deployed app
Key technical summary & decisions
Known limitations & future improvements
Last updated