Group projects

Specs for planned group projects

Variant A: AWS setup & infrastructure provisioning

This variant is aimed at system design and use of AWS services to implement various architecture components and then provisioning it with Terraform.

We will build a project called “Media Recommenders Suite”. 

MRS for short is a set of 4 recommendation engines that are deployed to the cloud and serve recommendations on 4 types of media: movies, music, audiobooks and podcasts.

The app uses Python algorithms that take as inputs user’s preferences for media they liked e.g. Titanic, Jumanji and outputs a list of other movies they may like. It performs this for all 4 types of media not just movies. The compuation part takes place in AWS Lambda functions. These are triggered by events generated by file uploads. Our engines work on 4 large NoSQL databases implemented in DynamoDB. These databases persist large quanities of movie titles, podcasts etc.

The main purpose of the project is learning AWS system design. With significant amount of work done in Python too.

Here are links to GitHub repo and Project’s kanban board.

Additionally, you will benefit greatly from watching these 2 YT playlists, that will teach you all you need to know about AWS.

AWS Intro (15 lessons)

AWS Services (122 lessons)

Variant B: Set of utility libraries

Focused on solving python programming problems. It’s meant to hone Python programming skills.

Variant C: OOP project

Learning all there is to know about Object Oriented Programming in Python.

Variant D: Automation

Using selenium, bash and Python scripting to build productivity tools

Variant E: Data Science analysis

Starting with dataset and performing data wrangling/normilization to later analyse it using Pandas and Excel

In addition to these, every project by deafult implements SCRUM methodology, best practices of version control in GIT and some database development. Here are some other things to know about group projects:

      • To complete successfully you have to commit at least 1 task & deliver a presentation on your solution to teach the rest of the group
      • All project-related communication is done on the designated Discord server for particular project
      • Each project starts with an introductory meeting, and 2 sprint review meetings follow after
      • Each sprint lasts 2 weeks
      • Everyone will receive a code review done by me or someone else
Participation in group projects is subject to receiving an invite. Once you accept the invite fill in the Project form it will help allocate you to the most suitable task.

“Talk is cheap. Show me the code.”Linus Torvalds

Xing