We're almost at the end of the journey. In our time together, we've looked at tons of different programming concepts and techniques. This is where you get to show it all off!
Your 3rd and final project will be a single-page Web application using the MERN stack (MongoDB, Express, React & Node.js) that you will work on in teams of three.
You will also practice some UX and Agile methodologies by following the final project Trello board.
As usual, you and the Ironhack staff will vote for your favorites and award three medals: Bronze 🥉, Silver 🥈, and Gold 🥇. Medalists get to present in the Hackshow, our public event for showcasing students.
Here are some examples of past projects:
Looking for Project #1 or #2? See the Project #1 document or the Project #2 document.
- Concept Test
- Database Schema Planning
- Paper Prototype Test
- Coding Kata - Pete the Baker
- 14:00h - Lesson: Deploying Your React App
- MVP Test
- 16:00h - Presentation Practice #1: About You & Your Project
For your first presentation practice you should create your initial presentation structure.
Your slides need to talk about you and your project idea.
See Presentation Section
- 16:00h - Presentation Practice #2: Demo
For the second presentation practice you should incorporate a demo of your live app at the end of your talk. Your presentation structure should be more or less the same, but you should make adjustments based on feedback from the previous practice.
See Demo Tips
- 16:00h - Internal Hackshow: WebDev Final Presentations
Finally, on Friday it's time for your Ironhack project presentation. You will present your projects to the staff and other students. Remember to dress at least one degree nicer than normal. Medalists will present at the Hackshow!
- 18:30h - Hackshow
Medalists of the Internal Hackshow will present their projects to the public. The event will be at WeWork La Fayette and there will be snacks and drinks!
You app must:
- Use React for all of the user-facing parts of your application.
- Use Express for your API backend that your React app will communicate with.
- Use Mongoose for models and database communication.
- Have 3 models or more. Having one for users is a no-brainer. The other two should represent the main functionality of your app. Don't force it if having a 3rd model doesn't make sense.
- Have validation on its models with feedback for users if their submission is invalid.
- Include sign up, log in & log out functionality with encrypted passwords (or social logins) and authorization (logged in users can do extra things).
- Have two repos on GitHub. One for your React application and the other for your Express API backend.
- Have at least 1 commit per day that you worked on it.
- Be deployed online using Heroku, so anybody could use your app.
Responsive design is not a requirement.
Full CRUD is not a requirement.
- A working MERN stack application, built by you that runs on a server.
- A deploy of your app on Heroku.
- The two URLs of your GitHub repositories (React & Express).
- The URL of the React app.
- The URL of the slides for your app's presentation.
- Your GitHub repos should have the URL of your live app in the URL section.
- You must present your app during Project #3 final presentations (last day of Project #3 time).
Wireframes are not a deliverable.
User stories are not a deliverable.
Project #3's presentation will focus more on you again, since you may be presenting to the public later.
- Talking with Slides: 3 minutes
- Demo: 2 minutes
- Total: 5 minutes
- Dress nicely for this and all final project presentations (last day of each project's time).
- Dress at least one degree more elegantly than you usually dress for class.
- Examples:
- If you wear t-shirts every day, wear a button-down shirt.
- If you wear jeans every day, wear some slacks.
- If you wear sneakers every day, wear nicer shoes.
- All presentations will be done from a staff member's computer, so your slides need to be online.
- PowerPoint files, Keynote files or files of any kind will not be accepted.
- Suggested online slide applications:
- Title Slide (1 slide): your project's name & your name
- About Me (1-2 slides):
- Where are you from?
- What are some interesting facts about you? (hobbies, travels, etc.)
- Project Elevator Pitch (1-2 slides):
- What is your project?
- How does it work?
- Why did you choose it?
- Technical Challenge (1-2 slides):
- What was the most important technical challenge you faced?
- How did you overcome that challenge?
- Big Mistake (1-2 slides):
- What was the biggest mistake you made during this project?
- What did you learn from it?
- Demo Slide (1 slide): literally says "DEMO" with a link to your project so you can open it easily
- Closing Slide (1 slide): your project's name, your name & a "Thank You"
- Total: 7-11 slides
- Don't include a slide just for the technologies.
- Don't include any code in your slides. Nobody will read it.
- Don't include a slide for GitHub graphs.
- Don't go into detail about how the app works. Your demo is where you want to do that.
- If you think that deviating from the structure improves your presentation, feel free to do so. This suggested structure is mostly for people who don't know what to do.
- Plan what you are going to demo and practice it on the live site. That way you won't be surprised if something breaks on the live version.
- Deploy early so you can squash bugs. There are always bugs on the live site at first.
- Add link to your live project to your DEMO slide so you can start it smoothly.
- Your app's colors and sizing might look different on the projector. If you think it might be a problem, ask to test it beforehand.
- If you app is on Heroku, refresh it before you present. Otherwise there will be a delay on the initial load.