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!

buildinpublic Article's
30 articles in total
Favicon
Week Seven Recap of #100DaysOfCode
Favicon
I built timeconvert.org - scratching my own itch
Favicon
Simplifying Static Site Hosting: Why I’m Building Rollout
Favicon
Predicting House Rent with Linear Regression in Python
Favicon
Building CrossPost: A Publishing Tool for Technical Writers
Favicon
Week 6 Recap of #100DaysOfCode
Favicon
I built the HackerNews for IndieHackers.
Favicon
The 10-Minute Company: zero to PoC 10 minutes per day
Favicon
Getting My First Users From Building Something Unexpected
Favicon
Introducing iWebhook.today: Simplify Payment Webhook Testing for Indie Developers
Favicon
Fediverse - The new sound of social networking
Favicon
Shipping a joke-rating app in 24 hours
Favicon
Week 5 Recap of #100DaysOfCode
Favicon
Promote Your Product via My Dev Community Blog
Favicon
Easiest way to find collaborators for your project idea
Favicon
Week Two of #100DaysOfCode
Favicon
Introducing gleam.so: Create Perfect OpenGraph (OG) Images Without The Hassle 🎨
Favicon
Week 4 Recap of #100DaysOfCode
Favicon
Building jargons.dev [#6]: The Branch Script
Favicon
Week Three of #100DaysOfCode
Favicon
How to Fix Google Auth Platform Verification Issues (Your home page URL is unresponsive)
Favicon
Building a SaaS as a Solo Developer: Month 1 Learnings
Favicon
Making OpenGraph (OG) Images More Accessible: Now Design & Preview Everything for Free 🎨
Favicon
How to Think Like an Engineer: Lessons Beyond Technical Skills
Favicon
Setting up my writing journey
Favicon
Building jargons.dev [#7]: The Word Editor Script
Favicon
Adding Custom Vendor Packages to Android Source Code: A Complete Guide
Favicon
Week One of #100DaysOfCode
Favicon
Why and How I Created an Explorer for GitHub Awesome Lists
Favicon
Let's Boxing - Train Boxing Anywhere πŸ₯Š

Featured ones: