Drawing Board

  • The first thing I did was the drawing board, which allows users to be creative with whatever they draw to put on the gallery posts page. It has an eraser tool, marker, a variety of colors, undo and reset, and save drawing as a png. This was the first idea I created because our game is similar to skribbl.io where a user makes a drawing and people guess what the drawing is in a certain amount of time to receive points.

  • Drawing Board Drawing Board

Posts Page

  • The second thing I did was creating a working API which allows the user to write their drawing name, a description of their drawing, and the image where they can upload for all users to see. This working API was needed to show my login feature and a way to collaborate with others.

  • Posts Page Posts Page

Themes

  • My third task was to create custom themes for our pages, as we needed someone to style all the pages into a light, pastel theme that would work with a drawing website. I imported custom pastel themes for each page we had to make them stand out from one another.

  • Themes Themes

Burndown List

  • My fourth task was creating a burndown list of what I needed to finish, already accomplished, and what my team was currently working on. Our burndown list helps everyone know what they had to do in making our website compatible and interactive, and the steps we needed to take to create our site.

  • Kanban Board
  • Issue Kanban Board

Backend Developer and Frontend UX Engineer

  • My role in our team was a backend developer and a Frontend UX Engineer, which meant I worked with making our backend compatible with everyones pages and did the different SASS styles on everyones pages in multiple themes. These roles helped me work well within my team and get work both in the backend and frontend of our page. We also worked on separating who did the notes and other tasks like working on fetching the API and getting all those tasks to work aswell.

  • Notes
  • Issue Checklist Issue

Big Idea 1.4 Debugging Code/Errors

Backend Debugging:

  • I use Postman to trace and debug backend code. My backend code for posts includes CRUD operations and uses SQLAlchemy for database interactions. I use Postman to send HTTP requests to my API endpoints to test and debug these operations. Frontend Debugging:

  • I utilize browser Inspect tools to trace and debug frontend code. My frontend code includes HTML, CSS, and JavaScript for the drawing board and posts page. I use browser developer tools (Inspect) to debug and trace issues in the frontend code. End-to-End Tracing:

  • I ensure seamless communication and data flow between frontend and backend. My frontend code interacts with the backend API to upload and fetch pictures. I ensure that the API endpoints are correctly implemented and that the frontend code properly handles the responses. Testing:

  • I build and execute tests using Postman. I create test cases in Postman to validate the functionality of my API endpoints.

-I add test data to systems to validate functionality and performance. I use test data to ensure that my application handles different scenarios correctly.

Big Idea 2 Data

Database Management with SQLite:

  • I set up and manage SQLite databases to store user data, posts, and images. My backend code uses SQLAlchemy to manage the SQLite database, which stores user data, posts, and images.

  • I design database schemas to efficiently handle social media data. My Post model includes attributes for title, comment, content, user ID, and channel ID, which are essential for handling social media data.

  • Image Upload and Storage:
  • I implement functionality to upload and store images in the database or file system. My frontend code includes an upload form for pictures, and the backend handles storing these images.

  • I ensure images are properly linked to user posts and profiles. The Post model includes a user ID attribute to link posts to users. Data Security and Privacy:

  • I implement security measures to protect user data and images. I ensure that my backend API endpoints are secure and that sensitive data is protected.
  • I ensure compliance with privacy regulations and best practices. I follow best practices for data security and privacy.

  • Data Retrieval and Display:

  • I develop efficient queries to retrieve and display data on the frontend. My frontend code fetches pictures from the backend and displays them in a gallery.

  • I optimize database performance for fast data access. I use efficient queries and indexing to optimize database performance.

  • Data Backup and Recovery:
  • I implement backup strategies to prevent data loss. I regularly back up my SQLite database to prevent data loss.

  • I develop recovery procedures to restore data in case of failure. I have procedures in place to restore data from backups.

Big Idea 4 Internet

  • Deployment Strategies:

  • I deploy the application on platforms like Heroku, AWS. I deploy my application to a cloud platform to make it accessible online.
  • I use continuous integration and continuous deployment (CI/CD) pipelines to automate deployment. I set up CI/CD pipelines to automate the deployment process. Domain Name System (DNS):

  • I understand how DNS works and configure domain names for the deployed application. I configure a custom domain name for my deployed application. HTTP and RESTful APIs:

  • I use HTTP methods (GET, POST, PUT, DELETE) to interact with the backend. My backend API uses these HTTP methods for CRUD operations.
  • I design and implement RESTful APIs for communication between frontend and backend. My backend API is designed to handle requests from the frontend. Security and Authentication:

  • I implement authentication mechanisms (e.g., JWT) to secure the application. I ensure that my application has proper authentication mechanisms in place.
  • I use HTTPS to encrypt data transmitted between the client and server. I use HTTPS to secure data transmission. Performance Optimization:

  • I optimize frontend performance by minimizing assets and using caching. I minimize and cache assets to improve frontend performance.
  • optimize backend performance by using efficient algorithms and database indexing. I use efficient algorithms and indexing to optimize backend performance. Monitoring and Logging:

  • I implement monitoring tools to track application performance and errors. I use monitoring tools to track the performance and errors of my application.

N@TM Feedback

  • During n@tm I got a lot of feedback from different people and it helped me understand what exactly I needed to change for my website and add. Many people added comments and issues on our n@tm website and we got to learn many people’s different ideas and what they had to offer. N@TM Feedback

MCQ

My MCQ was good as I got a 51/67 and took my time on each question. I had some issues with identifying and correcting errors but other than that the other sections of my MCQ I felt good about it and knew I understood the material.

MCQ Assessment

  • My 51/67 was better than my last MCQ which was relatively similar to my last MCQ score
  • The topics I struggled with were:
  • Identifying and Correcting Errors: 2/7
  • Algorithmic Efficiency: 0/2
  • Strings/Variables and Assignments/Developing Procedures: 0/3

  • I could review these topics and get a better score on them to boost my 51/67 to a 61/67 which would be massive improvement from my last score.

Self Assesment - 9/10

  • 4/5 In my live presentation I covered my 5 tasks over the 12 weeks and showed all the burndown lists and kanban board requirements. I communicated well with my group and my individual work for my working API was completed.
  • 2/2 My blog showcases my features working and some of the feedback I got at n@tm helped fix my project to be more collaborative for anyone to use
  • 1/1 I wrote about my projects of the Drawing Board and Posts Page features that follow the requirements and make it usable for anyone
  • 1/1 My MCQ went well, I took a long time on it to understand the topics and the FRQs I took notes on and it further helped me understand my topics
  • 1/1 In my final blog I discussed my my presentation and showed what I found interesting in Computer Science and what I did during these 12 weeks.
  • Overall I think my self grade is a 9/10 as I followed all the requirements and in my presentation I have all my features shown and what I did in the class