These are the requirements for the capstone project for the Flex course at DigitalCrafts Houston.
NOTE: You must complete this project in accordance with the requirements laid out below in order to fulfill Texas state requirements for credit for the course. If you have any questions or concerns about the requirements, please see an instructor.
Write an awesome web application using the skills you have learned in this course.
What did you enjoy learning the most during the course? What topic were you an ace at? Build something that highlights your strengths and showcases what you can do. This is your time to shine!
The structure for this project is intentionally flexible in order to let you explore ideas, challenge yourself, and build something you want to create. Let's get creative and build the web :-)
-
Your project must be a full stack application.
- It must contain code that runs on the server (Node.js)
- And the browser (client-side JavaScript)
-
You must use a database to store and retrieve data.
- Example: a user submits a form that is stored in a database
- Another example: storing or retrieving sensor data that comes from a Raspberry Pi
- You may use any database for this project: PostgreSQL, MySQL, SQLite, MongoDB, Firebase, etc.
- The database does not have to be hosted locally (ie: Firebase)
-
Your project must be deployed somewhere publicly accessible.
-
Your HTML must be defined in some sort of composable structure.
- Example: React.js components
- "render functions" that return HTML strings
- Mustache templates
- etc
-
You must use at least one AJAX request to communicate to a back end API endpoint.
- Or try out WebSockets for real-time communication
-
The visual design of your application must be cohesive.
- This can mean all custom CSS and design work
- Or embracing a CSS framework like Bootstrap or Bulma
- Remember that your application is going to be "on stage" for demo day: first impressions matter!
- Reach out to the staff if you need help or design review. We want to make you look good :-)
-
Your code must be organized using JavaScript modules.
- No super long files
- No "spaghetti code"
- Hint:
create-react-appmakes this easy for the front end
-
Have a staff member review the scope of your project first before coding.
- A lot of students get excited for their final project and bite off more than they can chew.
- It is better to have something concrete working on demo day than an "it should work this way" explanation.
- Don't discount "polish time" in your estimates. It always takes longer than you think!
-
Team up with your fellow classmates based on your strengths.
- One student focused on React.js, one focused on back end, and one focused on database is a powerful combination.
-
Pick a project idea that is easy to explain to a stranger.
- This will help you on demo day as well as job interviews.
- Small games are a great choice for a final project.
-
Final projects are always stressful for students.
- Keep your scope small and reach out for help early if you get stuck.
- You've made it this far; time to cross the finish line :-)
This requirements document is licensed as CC0 1.0 Universal:
You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.