CS50 Web & Database Design Assignment Help
[ad_1]
CS50 Web & Database Design Assignment Help
Aims
- Understand principles of designing user friendly websites.
- Write standards compliant websites in HTML & CSS.
- Develop dynamic, client-side web content using Javascript.
- Understand the interactions between the client-side and server-side components of web applications.
- Design and build AJAX calls to a server and handle responses.
- Use third party APIs in web applications.
- Use E-R Modeling to design a database structure.
- Understand the role of databases in web applications.
- Plan & integrate a database into a web application.
- Understand and mitigate security issues faced by web applications.
Project Summary
Description
Your web application project for the Semester is to design and develop a task/chore roster system for shared spaces that allows managers to set tasks, notifies users of their tasks, and allows users to mark tasks as complete.
- Upon loading the system should display
- Current tasks that need to be done today
- The user who is assigned that task
- Users should be able to sign up and log in so they can
- View their scheduled tasks
- Manage their profile/user information
- Manage their availability
- Manage the types of tasks they can/want to do.
- Managers should be able to sign up and log in to:
- Manage their profile/manager information
- Create and manage different tasks.
- Group tasks.
- Assign tasks or groups of tasks to users.
- Users/managers should be able to choose to link a social media/email/other account, allowing login via that platform, to make logging in easier.
One of the following two special features must also be present:
- Email notifications
- Users can request that an email notifications be sent to them for current/upcoming tasks.
- Users should be able to choose when email notifications are sent
- Users should be able to set multiple notifications and/or different notifications per task.
~ OR ~
- Calendar Reminder
- Users can connect their online calendar to the system (Google Calendar/Outlook)
- Tasks automatically added and updated on users’ online Calendars.
Software Requirements
- The web application must developed and run in the CS50 IDE.
- You should also make regular (at least weekly backups/downloads of your work)
- The web application must use NodeJS, Express, and AJAX .
- The database must be a SQL database.
- Your markup/code must pass W3C Validation and ESLint linting.
- You may use other libraries/frameworks not addressed in this course, however your implementation must still demonstrate your understanding of the concepts taught in this course.
Part 3 – Building your website
Now that you have a solid design, it’s time to start coding it! You should now have a firm grasp on these languages and be able to implement ALL of the static elements of your website.
- Use HTML and CSS to implement all of the parts of your site.
- Follow best practices as outlined in lectures and exercises.
- Ensure CSS is used appropriately to provide a consistent and maintainable style across all your pages.
- Ensure your implementation passes validation.
As you build your website, begin to add interactive features using JavaScript and Vue.
- Use JavaScript and Vue to further build your design.
- Start to add client-side code for users and managers to interact with tasks & manage their settings
- Use test data/variables to simulate client-server interactions as needed and to help you test your code.
- Follow best practices as outlined in lectures and exercises.
- Ensure JavaScript files are used appropriately to provide a consistent and maintainable code across all relevant pages.
- Ensure your implementation still passes validation after modifications.
- Ensure your JavaScript and Vue passes linting.
Part 4 – Client-server integration
It’s time to set up the server so your website can be accessed on other computers!
- Following the lecture notes and documentation on MyUni, set up an Express server and migrate your website to it.
- Test to ensure all parts of your website are working as expected now that they are being served by the Express server.
You’re now ready to start handling data on the server.
- Using a combination of GET/POST methods and AJAX, modify your website and server to implement the calls needed to handle the content/information for each of your features as identified in your data plan from Part 2.
- The routes don’t need to be functionally complete at this stage, but you will want to set them up with dummy responses to ensure that your client side code is working as expected. CS50 Web & Database Design Assignment Help
Part 5 – Database Schema & Queries
Now that you’ve designed your database, you can set it up and begin writing queries.
- Convert your E-R diagram into a SQL Schema.
- Setup your SQL database and tables.
- Write down the queries needed to store and retrieve data in your database.
Milestone 2 Submission:
Submit all work done so far from Parts 3 – 5 to the MyUni Milestone 2 Submission before the deadline, 11:59pm Friday Week 12. This should include:
- Your implementation from Parts 3 & 4
- Your SQL schema & queries from Part 5
Submit your work as a single ZIP file;
- Be sure to include all your work in the ZIP file.
- If you have your files organised in folders/directories, be sure to keep this structure when adding them to your ZIP file.
- Do not include your node_modules folder in your submission, but do ensure you include any other server files.
- Your database schema & queries should be in the form of a plain-text .sql file containing the CREATE TABLE statements of the schema, and your draft queries.
- You will also need to provide the markers access to your CS50 IDE
- This will allow us to test your work if files are missing from your submission, and review your progress.
- Details on how to do this are listed on the submission page.
This submission is worth 15% of your final course grade
- A detailed mark rubric will be available on the submission page closer to the deadline.
- Your mark will be available in the MyUni gradebook within 2 weeks of the deadline unless otherwise noted.
- Late submission penalties apply! (see course outline)
Part 6 – Server implementation & integration
Modify your server routes to perform the tasks and data queries needed to complete your web application.
- Implement and populate your Database
- Complete your server routes from part 4 with full functionality, integrating the Database queries from Part 5.
- Referring to the appropriate APIs and documentation, finish your implementation of your chosen special feature:
- For Email Notifications we recommend using the Nodemailer API
- For Calendar Reminders we recommend using Google Calendar or Outlook APIs
- Implement and Secure your login system if you haven’t already
- Integrate OpenID into your web application’s login system.
- Ensure OpenID authentication is verified correctly
- You can use any identity provider or any combination of providers.
The main functionality of your web application should now be almost complete.
- Review and test your web application for functionality and bugs.
- Test the security of your web application, ensuring it is not prone to SQL Injection, XSS, XSRF, and that its authentication cannot be easily bypassed.
Part 7 – Demonstration & Reflection
Record a video of at most 3 minutes duration in which you demonstrate the features of your web application.
- You will not be assessed on presentation skills/delivery/preparation; only on the functionality of your web application.
- This will help your markers to ensure they don’t miss anything.
- Zoom includes recording capabilities.
Write a brief reflection (1-3 paragraphs in length) clearly and concisely outlining your design decisions, challenges faced, and any changes that occurred between your initial plan, Milestone 2 & the final implementation.
- This should be included in your final submission as a Text file, PDF, or Word Document.
Final Submission
To prepare for your final submission:
- Review this document
- Make sure all main dot-points are covered
Submit your work as a single ZIP file;
- Be sure to include all your work in the ZIP file.
- Be sure to include your demonstration video & reflection in the ZIP file
- If you have your files organised in folders/directories, be sure to keep this structure when adding them to your ZIP file.
- Do not include your node_modules folder in your submission, but do ensure you include any other server files.
- You will also need to provide the markers access to your CS50 IDE
- This will allow us to test your work if files are missing from your submission, and review your progress.
- Further details will be listed on the submission page.
CS50 Web & Database Design Assignment Help
Need Help with a similar Assignment?
The post CS50 Web & Database Design Assignment Help appeared first on homeworkcrew.
[ad_2]
Source link
"96% of our customers have reported a 90% and above score. You might want to place an order with us."
