The time has come for you to learn a new programming language to help cement your coding skills. We prefer that you learn Python, but given a good enough reason you can learn another language. We will handle language choice on a case by case basis.
It’s important that you start working on your public profile on GitHub.
Use one of these projects as a starting point. What do you need to learn the new lanuguage to complete one of the project? Focus on those skills.
Use the new language & TDD to:
- Solve Nelisa’s Story 1 and Story 2 using the CSV file
- Connect to a MySQL database for Nelisa’s Shop
- Setup a web server and:
- Show how many of each product Nelisa sold
- Show how many of each category Nelisa sold
- Show all products
- Create forms to create new categories & products
- Use Bootstrap as your CSS framework
- Explore & use an ORM framework
Now implement a project of your own choice using the new language you learned. Please come and discuss the details of your project with us.
Before you do so, answer the questions below and draw up a block diagram to describe your project:
- What is your project about?
- Who is your target audience?
- What do you hope to achieve with your project?
- What technology challenges do you foresee?
Once your project is set, you will need to develop the following agile product development tools:
- Personas: Who uses your app, and how does it help them?
- Story Map: What are the key areas of functionality?
- Prototypes: What do the screens look like? How does the navigation work?
- Acceptance Criteria: How do you know if each story is done?
- Backlog: Ordered list of user stories
You'll need different tech stacks, depending on which language you use.
For Python & Ruby see below.
How do these compare with Javascript?
Skill | Python | Ruby |
---|---|---|
TDD | * your choice | * your choice |
Web framework | Flask | Sinatra |
ORM | PeeWee | Active Record |
Templating | * your choice | * your choice |
Database Migrations | * your choice | * your choice |
Continuous Integration | Travis | Travis |
Deployment | VPS using Digital Ocean | VPS using Digital Ocean |