-
By Michelle Lai
-
Weight: 1
-
Project to be done in teams of 3 people
-
Ongoing project - started
May 27, 2022
, must end by
Jun 3, 2022
- you're done with 0% of tasks.
-
Manual QA review must be done (request it when you are done with the project)
For this project, students are expected to look at these concepts:
Before starting any coding, you will need to research and define your portfolio project over the course of 3 weeks. In the first week, the Project Proposal will be approved, followed by the second week where the MVP will be defined, and finally presented as a collection of tasks on a Trello board.
This first part is focused on creating a Project Proposal and requires that a google Document is submitted for Manual Review by a technical staff member. Please take time to brainstorm, research, and explore what currently exists during this first phase.
Explore some student projects from previous cohorts!
- Puppr (GitHub) -- by Laura Roudge (Cohort 8), Drew Maring (Cohort 8), and Marc Cavigli (Cohort 8)
- OCR for Whiteboarding(GitHub) -- by John Cooke (Cohort 8)
- Lyrical Learning (GitHub) -- by David Kwan (Cohort 8)
- Eggify (GitHub) -- by Athena Deng (Cohort 7) & Samie Azad (Cohort 7)
- IdeaDog (GitHub) -- by Brennan D Baraban (Cohort 7)
- Job Odyssey (GitHub) -- by Susan Su (Cohort 7) & Christopher Choe (Cohort 7)
Within the team you are on, we encourage you to take on the challenges that will be relevant for you to speak about in your (eventual) job search. For example, if your project is an ride-sharing clone, and you want to be a front end engineer, then it's important to take on challenges with accessibility, interactive elements and user-interface. Likewise, if you are interested in backend engineering, it will be important to architect the API endpoints, data modeling and performance.
There is always a risk that your project is too ambitious, or not ambitious enough. Each has its disadvantage. For this project, consider that it is much better to end up with something a bit smaller in scope that has undergone a couple (or at least one) iteration of deployment, testing and bug fixes. Documentation is also a big bonus!
Each person and team is unique. We encourage you to bring a sense of individuality to your project, so that you can use it as a tool to speak about other aspects of yourself or your team. As an example, if a team wants to create a buy/sell marketplace app and they are both passionate about bicycling, they may want to focus their marketplace on bicycles exclusively so specific attributes can be defined to track the items.
Note: A professional project theme is a requirement. We recommend avoiding themes focused on religion, political parties and views, sexuality, sexual orientation, or illegal substances. If there is a specific reason you are passionate about a topic and would like to pursue it, please meet with a staff member to discuss. As an example, creating a platform to have open political discourse with a moderation feature would be acceptable. A site to promote all the representatives and voting history of a single political party would not be acceptable.
If you don't know what to build, we have some ideas for you:
- Create a web service that uses API (like a GitHub stats of an account, etc.)
- Import a rich data set, sanitize it, and create a website to visualize the data with interactive zoom and sliders
- Create a music recommender based on a set of 'liked' songs
- Write a game that can be played against another person or an AI
- Ship an Android app
- Create an IoT system
- Write an image compression algorithm
- Write a compiler
- Write your own Docker-like container service
- Create a "One click" to deploy a cluster of blockchain mining workers with a web page to report on its statistics
- Create a "One click" to deploy a cluster of servers hosting docker, with a web page where you can start containers on-demand
If you do not have an idea, and do not submit a proposal or do not gain approval for your proposed projects, you'll be expected to complete the 2D Game: The Maze - concept page available on top of this project.
Review and approval for your portfolio project must be done by a staff member.
mandatory
Share a link here to a Google Document where each of the following tasks are addressed.
Save
Done? Help
mandatory
Rename the document to be the Project's name.
At the top of the document restate the project name as a header. Add a tagline below which is exactly one sentence (or phrase) that best summarizes your project.
Done? Help
mandatory
In a section named "Team", answer:
- What are the names of the team members?
- What role will each person play in completing the project?
- Why have those roles been decided?
Done? Help
mandatory
In a section named "Technologies":
- List the libraries, languages, platforms, frameworks, hardware, books, resources that will be necessary to complete your project.
- For 2 of these technology choices, describe another option and what were the trade-offs between the chosen technology and the alternate. Explain what led to the final decision to use a particular technology.
Done? Help
mandatory
In a section named "Challenge":
- Describe the problem the Portfolio Project is intended to solve.
- Explain what the Portfolio Project will not solve
- Explain who the Portfolio Project will help and/or who the users will be
- Is this project relevant or dependent on a specific locale?
Done? Help
mandatory
In a section named "Risks":
- Describe the technical risks, the potential impact, and what safeguards or alternatives you have in mind
- Describe non-technical risks, the potential impact, and what strategies are in place to prevent these negative outcomes
Done? Help
mandatory
In a section called "Infrastructure":
- Describe your process for branching and merging in your team's repository (e.g. GitHub flow, Picking the right branch-merge strategy)
- Describe your strategy for deployment
- Describe how you will populate your app with data
- Describe what tools, automation or process you will use for testing
Done? Help
mandatory
In a section called "Existing Solutions":
- List any similar products or solutions that currently exist.
- For each item in the list, explain similarities and differences
If you intend to reimplement a proven solution, then describe the various proven solutions and why you chose to reimplement based on a particular specification.
As an example, lets say you will develop an image compression algorithm, and decide to go with Transform coding. Utilize this section to describe the different classes of image compression, and the various types of compression algorithms and the unique aspects of Transform coding.
Done? Help
Ready for a manual review
Copyright © 2022 ALX, All rights reserved.