CINS465 - Web Development Fundamentals
For the project in this course you have a website that does the following:
- Uses data in some way
- Needs to present this data to the user
- Can get new data from the user or alternative source
- Ideally if data presented to the user has changed they should get updated version without refreshing page
- Uses templates
- Have a minimum complexity to involve learning something beyond what we cover in class
- Can not implement the functionality of a blog, twitter, and/or forum only.
- This minimum complexity is usually met by most students by using web sockets, usually in the form of a real time chat integrated into their project in some way.
- This could also be met by more than a minimal use of Web Assembly as well.
- Should be interesting or useful.
- Be hosted on the cloud
- I will be providing you $50 of Google Compute Cloud Credit for this purpose
- There is no requirement you host on Google's cloud, but as there is no cost to you I recommend it
I will only be supporting development with the technologies discussed in class:
- Django 3+
- Foundations 6
(Needs to have all of the following) * The proposal should give a basic idea for your project * It is highly recommended you work in a group of two with one member focusing on front-end/JS/stylization and the other focusing on data, RESTful APIs, and backend programming. This is not a requirement, it's worth noting the quality of project proposed be it a team or single member proposal is the same; however, the expectation of the quality and complexity of the final project for a team of two is slightly higher. * Proposal should offer a simple idea of what pages your site will provide the user(s) * Can be hand drawn, but expect you to have given some thought for how people will interact with your site. * Should also diagram/discuss transitions between pages * If you work as a group of two, you will need to break out the tasks for each member * There is a higher bar or expected level of complexity for a pair project. * A timeline for getting aspects of the project setup, working, developed, etc. * For team projects, you should set milestones for each member to complete along the way. Make sure to include time to test each component. * Goals for the project * Can think of these as components of your web project you hope to have working by the end of the semester. * You should also include stretch goals or goals you have for the project if time allows or that you would like to add possibly after the semester. * Should be a list of deliverables/goals * Submitting Proposal: * Please email me a pdf with the above details as different sections. * You should have CINS465 Proposal as the subject for the email. * You can submit your proposal up until the day before it is due and if I can get you feedback you will lose no points if you make the necessary revisions before the due date. * Having issues with your proposal after the due date will lose points.
You will be graded on the following:
- Lab session attendance
- Partway through the semester you/your group will be required to attend the majority of the lab help sessions.
- These lab help sessions will double as a mid-point checkin that you are making progress on your projects, but also offer much needed time for you to get potential development road blocks resolved.
- Project Presentation
- Near the end of the semester and likely the day of the final we will have presentations of your project, which you will be graded on how well you can present your project, what goals it had, what you have working at the time of the presentation, and technical problems you've run into along the way.
- Your project will be graded on the following:
- If it meets your goals
- How easy it is for me to use
- How much I feel you learned along the way (part of the submission survey, so make sure to put some effort into answering this question)
- If it meets the requirements
- If you worked as a team there will be team member feedback; however, as you need to use GIT for the project & submission... if you aren't contributing it will show up in the git history.
- Submit your project through a github repo, make sure I'm a collaborator if it's not a repo I created for you.
- You'll get a Google Survey after the semester ends that you will need to fill out, this will include the team member feedback if you worked in a group of two. It also will ask for feedback on the project, class, and things you think should be clarified, improved, etc for future semesters.
Going above and beyond these requirements or using technology far outside the scope of what I've covered in the semester but coming up short on your project goals in the end, can still lead to a good grade. I weigh ambition and self interest in learning new things for this course heavily even if it means all your goals are not met.