I’ve always loved a good challenge, and this time, I’m setting myself a big one: building a full-stack web application in just 45 days. It’s ambitious, but I’m excited to see how far I can push myself. I’ll be documenting my journey day by day, sharing my progress, challenges, and learnings along the way. If you’re someone who loves coding, productivity hacks, or just following along with a tech adventure, this series is for you!
The Project
This is a personal project I’ve been wanting to tackle for a while. While I can’t reveal all the details just yet, it’s a web application designed to solve a specific problem I’ve encountered in my line of work. The goal is to create a fully functional app from scratch, covering everything from the front end to the back end and deployment, all within 45 days.
Tech Stack
I’ve decided on the technologies I’ll be using, and here’s the breakdown:
Front End: Next.js (for its SEO-friendly and server-side rendering capabilities) and Tailwind CSS (for quick and responsive styling).
Back End: Node.js with Express for creating APIs and MongoDB as the database.
UI Design: Figma for designing the user interface before diving into development.
Deployment: Vercel for hosting the front end and Heroku for deploying APIs (not confirmed).
I’m confident in these choices because I’ve worked with them before, and they’re perfect for building scalable and modern web applications.
Day 1: Laying the Foundation
Today was all about planning and setting up the basic structure of the project. Here’s what I accomplished:
1. Setting Up the Back End
I decided to start with the back end because having a solid API structure will make it easier to integrate with the front end later. Here’s what I did:
Installed Node.js and set up a new project using npm init.
Added Express to handle routing and API requests.
Connected the project to MongoDB using Mongoose for database management.
I’ve planned out 12 APIs (estimation) that the app will need, covering everything from user authentication to data management. Yesterday, I started with the basic structure for these APIs and started implementing a couple of them today, including:
User Registration API: To handle new user sign-ups.
Login API: To authenticate users and generate JWT tokens.
Facebook
Twitter
LinkedIn
2. Planning the Database Schema
I spent some time designing the MongoDB schema for the app. Since MongoDB is NoSQL, it gives me flexibility, but I still wanted to ensure the structure is clean and scalable. I created collections for:
Users: To store user details like name, email, and hashed passwords.
Data: To store data related to the core functionality of the app (more on this later!).
3. Initializing Git Repository
I set up a Git repository to track my progress and ensure I don’t lose any work. I’ll be committing code daily and pushing it to GitHub. This also helps me stay accountable and organized.
4. Figma Wireframes
While I didn’t dive deep into the front end today, I started sketching out the UI in Figma. I created a basic layout for the homepage and a couple of other key pages. This will serve as a blueprint when I start building the front end.
Challenges Faced
Time Management: Since I work full-time, I can only dedicate my weekends (Saturdays and Sundays) or a few hours during the weekdays to this project, so managing my time effectively during those two days will be crucial. I need to make the most of the limited hours I have.
API Design: Deciding on the exact structure of the APIs took some time, especially since I’ve worked with Node.js before, but it’s been a while. However, after some planning and revisiting best practices, I’m happy with the plan I’ve settled on.”
Skyrocket your customer base with our digital marketing specialists
Get a free consultation
limited time
What’s Next?
Next day, I’ll focus on:
Completing the remaining APIs.
Finalizing the Figma designs so I can start building the front end soon.
Final Thoughts
Day 1 was all about laying the groundwork, and I’m happy with the progress so far. It’s exciting to see the project take shape, and I’m looking forward to the next day. Will I be able to finish this in 45 days? Only time can tell that, but I’m determined to give it my best shot.
Stay tuned for weekly updates, and feel free to follow along or even join me in this challenge! If you have any tips, suggestions, or questions, drop them in the comments below. Let’s build something amazing together!
“Don’t miss out on our latest computer science, technology, lifestyle, and design updates! Keep our notifications on to stay up-to-date.”
Want to get weekly knowledge ?
Get notified whenever we post new stuffs.