
Projects
Make a Meal/Night of It
Group project
February 2021
Aim
Create an app that searches for meal and cocktail recipes based on what ingredients the user has
Method
- Make get requests in a Java backend to the MealDB and CocktailDB APIs with the user's ingredients in the request parameters
- Implement caching to improve the site's performance
- Use Semantic UI to create a clean, intuitive user interface
- Display a no results message with the user's search terms if there are no recipes in the database containing their ingredients
- React
- Semantic UI
- Spring
Lessons
- Using a library to style pages
- Using a linked hashmap to implement a LRU cache
- Formatting user input with JavaScript string and array methods
- Removing empty strings and null values when displaying recipe data
- Preventing a no results message from being changed or displayed until after data has loaded
- Creating smaller subsets of a larger dataset for pagination
Owl Dash
Solo project
Dec 2020
Aim
Create an app that displays information on a niche topic in an engaging way
Method
- Fetch data from the eBird API
- Filter bird sightings for owls
- Present key stats and facts on the sightings
- Plot the sightings on a Leaflet map
- React
- Leaflet
Lessons
- Increased confidence in working with APIs
- Got to grips with including an API key in a request header
Isolation Station
Solo project
Dec 2020
Aim
Create an app that provides people with inspiration for activities that they can do if they’re self-isolating because of COVID-19
Method
- Make get requests to the Bored API to generate random solo activities that people could do if they’re self-isolating
- Allow the user to filter by activity type
- Generate a URL using that activity type as a parameter
- React
Lessons
- Adding parameters to API get requests based on user input
Gym Buddy
Solo project
Nov 2020
Aim
Create a full stack app that allows a gym to manage fitness class bookings
Method
- Create an SQL database with classes, class types, members and bookings
- Apply business logic
- Include search functionality, error handling and capacity management
- Postgresql
- Flask
- Jinja2
Lessons
- Created a relational database with a one to many and many to many relationship
- Routing and page rendering through Flask
- Date and time formatting
Glasgow Murals
Group project
Jan 2021
Aim
Create a full stack app that provides local residents, tourists, art students and tourism professionals with information on murals in Glasgow and promote a positive image of the city
Method
- Create a database of murals based on the Glasgow mural trail website
- Display murals in a list and map views
- Allow users to filter results by metadata
- Update results on the fly
- Provide favouriting functionality
- React
- Leaflet
- Express.js
- MongoDB
Lessons
- Working as a team
- Advanced Git & Git troubleshooting