Week 1: Kicking Off a New Journey

Preeti Sharma | Aug 4, 2024 min read

Laying the Foundation

Introduction:

This week marked the beginning of an exciting journey as we gathered the team and began transforming our product idea into reality. With everyone on board, we spent our first days brainstorming, deciding on our tech stack, and setting up the initial environment for both the frontend and backend. Here’s a glimpse into what we accomplished this week. Team Gathering and Idea Sharing:

We kicked off the week with a meeting on August 3rd, 2024, where the team got acquainted and shared initial thoughts on the product vision. The session was a melting pot of creativity, where ideas for key features and the overall direction of the product were discussed. This collaborative session laid the groundwork for the week’s tasks.

The excitement was palpable, and by the end of the meeting, we had a clear direction for our product.

Technology Stack and Initial Setup:

After the brainstorming session, we quickly moved to solidify our technology choices:

  • Frontend: React with Vite for a fast and efficient development experience.
  • Backend: Node.js with Express.js to handle server-side logic.
  • Database: MongoDB for scalable and flexible data storage.
  • Styling: ShadCN UI for a sleek and modern look.
  • Tooling: ESLint and Prettier for consistent code quality, Docker for containerization, and GitHub Actions for CI/CD.

With our stack chosen, we dived into setting up the projects.

Frontend Setup:

Initialized React Project with Vite: We started by creating the React project using Vite, which provides a faster and leaner development environment.

  • Styling: We decided to use ShadCN UI to ensure our app has a sleek and modern design from the get-go.
  • Linting and Formatting: ESLint and Prettier were configured to maintain code quality and consistency across the frontend codebase.
  • Containerization: The frontend was also containerized using Docker to ensure seamless development and deployment workflows.

Backend Setup:

  • Express.js Server: We initialized the Node.js project and set up an Express.js server as our backend framework.
  • Logging with Winston: To handle logging efficiently, we integrated Winston, allowing us to maintain logs effectively.
  • MongoDB Connection: The database connection was set up, ensuring that our backend can store and retrieve data as needed.
  • Containerization: The backend was also containerized with Docker to align with our DevOps strategy.

Chores and Documentation:

  • GitHub Actions: We enabled GitHub Actions to automate our CI/CD processes, ensuring code integrity and smooth deployments.
  • Branch Protection Rules: To safeguard our codebase, we created branch protection rules and checks for both frontend and backend repositories.
  • PR Templates: A pull request template was added to streamline our code review process and ensure that all contributions meet our standards.

Conclusion:

The first week was all about setting the stage. We now have a solid foundation, a clear direction, and a motivated team ready to tackle the challenges ahead. Stay tuned as we move into development and start bringing our ideas to life.