Logo

dev-resources.site

for different kinds of informations.

Week Three of #100DaysOfCode

Published at
12/15/2024
Categories
100daysofcode
buildinpublic
opensource
softwaredevelopment
Author
lymah
Author
5 person written this
lymah
open
Week Three of #100DaysOfCode

Introduction

My Week 3 Journey: Document Uploads, Dashboard Development, and Encryption

Week 3 of my 100 Days of Code challenge has been an exciting one, filled with significant milestones and a few hurdles. I've made great strides in both the backend and frontend of my application, particularly in implementing encryption, developing a functional dashboard, and setting up document storage with AWS S3. Here’s a summary of my progress, the challenges I faced, and the key learnings that came with it.

Encryption Implementation

One of the major achievements this week was implementing encryption for document uploads. I used Node.js’s crypto module to ensure that documents are encrypted locally before being uploaded to AWS S3. This added an important layer of security for sensitive data. Along the way, I learned how to generate a strong secret key and apply it to JWT (JSON Web Tokens) for additional security. While there were some debugging challenges, it was an invaluable experience in mastering encryption and securing data in a web application.

MongoDB Integration and Backend Development

I also made significant progress on the backend of the app. I integrated MongoDB, allowing for efficient data management, and added several CRUD (Create, Read, Update, Delete) routes to handle user interactions with the database. With the backend now functional, the app is getting closer to being ready for deployment. The process helped me understand how to build a robust backend system capable of handling user data securely.

Docker and AWS S3 Integration

Another major focus of the week was configuring Docker to work with the backend API for document uploads and encryption. Initially, connecting Docker to the backend proved tricky, but I was able to overcome these challenges by diving into Docker resources and troubleshooting issues step by step. I also integrated AWS S3 using MinIO via Docker, providing a secure and scalable cloud storage solution for the app. This setup allowed me to simulate AWS services locally, which was particularly useful for testing.

Dark Mode and Heroicons

I also experimented with implementing Dark Mode/Light Mode functionality for the dashboard. Although I encountered some challenges, I’m excited to continue refining this feature. Additionally, I explored Heroicons, a popular React and TailwindCSS icon library, which has been extremely useful for enhancing the visual appeal of the app. I learned the difference between solid and outline icons and when to use each, as well as the smaller Mini and Micro Heroicons.

Challenges and Solutions

This week wasn’t without its challenges, especially when integrating Docker and AWS S3, and dealing with issues related to Dark Mode. However, each obstacle provided an opportunity to learn and improve. Through troubleshooting and persistence, I was able to find solutions that pushed the project forward. These challenges have not only helped me enhance my problem-solving skills but also deepened my understanding of web development and cloud services.

Conclusion

This week has been a period of tremendous growth, both in terms of technical skills and problem-solving. I’ve learned how to integrate complex features like document encryption, MongoDB, and AWS S3 while also refining the frontend with React and TailwindCSS. Despite the hurdles, I am more confident in my ability to tackle challenging problems and find effective solutions.

As I continue this 100 Days of Code journey, I look forward to refining the app, troubleshooting remaining issues, and eventually preparing it for deployment. Stay tuned for more updates as I move closer to completing this exciting project!

100daysofcode Article's
30 articles in total
Favicon
100 Days of Code
Favicon
CREATING A ROCK, PAPER, & SCISSORS GAME IN PYTHON
Favicon
Week Seven Recap of #100DaysOfCode
Favicon
2/100 day golang challenge
Favicon
Valid Anagram
Favicon
Week 10 of My #100DaysOfCode Challenge: Mastering JavaScript and Building Projects! πŸš€
Favicon
GHK-CU - 50 mg Copper Peptide Skin Serum - PEPAMINO
Favicon
Frontend Mentor vs. DevCoach: Which one is right for you?
Favicon
Meta-Arguments and Provider in Terraform Day 10
Favicon
Advanced HCL for Terraform Day 9
Favicon
1/100 day golang challenge
Favicon
Week 6 Recap of #100DaysOfCode
Favicon
LEARNING GO Day:3
Favicon
πŸš€ Mastering Generics in Java: The Ultimate Guide to Type-Safe and Reusable Code πŸ’»
Favicon
Day 1: Getting Started with Python
Favicon
System Scalability
Favicon
Infrastructure Planning with Terraform Day 5
Favicon
Terraform State Management day 4
Favicon
Week 5 Recap of #100DaysOfCode
Favicon
Week Two of #100DaysOfCode
Favicon
FINDING REPLIT ALTERNATIVE FOR LEARNING CODE
Favicon
Implementing Queue using Stack
Favicon
Day 73. Working on the Library
Favicon
Day 71-72. Lack of knowledge
Favicon
Day 68-70. Theme switcher
Favicon
Week 4 Recap of #100DaysOfCode
Favicon
Bolt.new: Turning Your Ideas into Apps with Just a Few Words
Favicon
Days 61-65. Dark theme
Favicon
Java Functions/Methods: A Beginner's Guide to Writing Efficient Code
Favicon
Week Three of #100DaysOfCode

Featured ones: