In this project, I have adhered closely to established guidelines by employing a range of technologies to develop a Single Page Application encompassing the Home
and Program
pages.
-
I decided to use
React Router
because of its simplicity and ease of use. Leveraging this technology allowed me to quickly set up routes and navigate between pages. -
I used the
Styled Components
library to style the project. I like the idea of defining styles as components and using them in the Reach Virtual DOM. -
I learned and implemented the
Redux
library to manage the state of the application. This allows the code to be more organised and easier to maintain without passing props down the component tree.
Please ensure you have the following installed on your machine:
- Node.js v20
- npm v8
- Git
- Clone the repository to your local machine.
- Run
npm install
to install the dependencies. - Run
npm run dev
to start the development server.
When you finish, you can run npm run build
to create a production build, and npm start
to start the production server.
I have implemented Jest
and React Testing Library
to write tests for the components. You can run the tests by running npm run test
.
You can view the commit history in the GitHub repository timeline.
- Add a
Search
feature to allow users to search for programs. - More features to the application, such as a
Contact
page,About
page, andBlog
page. - Implement a
User Authentication
system to allow users to sign up and log in.
Testing, testing, testing! I would have written more tests to ensure the application is robust and reliable. This includes unit tests, integration tests, and end-to-end tests.
Please do check out the code for my Personal Website (https://richard-lee.com/) here
I enjoyed working on this project. It was a great opportunity to utilise those technologies to demonstrate my skills. I look forward to hearing your feedback and suggestions for improvement. -Richard