How I Manage My Project
February 8, 2025
Boilerplate
After working on several projects, i realized that setting up the initial configuration every time was time-consuming and repetitive. Manually configuring everything over and over felt inefficient. To solve this, i created my own boilerplate with preconfigured setup with all the tools i need. By using this boilerplate, i save hours on setup and repetitive configurations, i can start coding immediately and focus on building features.
Check out my boilerplate: Link
Project Structure
Here’s my project structure look like, i follow feature-based architecture.
src/
├── app/
│ ├── layout.tsx
│ └── page.tsx
├── components/
├── configs/
├── libs/
├── modules/
│ ├── auth/
│ | └── components/
│ | └── validations/
│ └── products/
├── stores/
├── styles/
├── types/
└── utils/
Every module can have:
- actions, contains the business logic
- components, contains UI specific to that feature
- services, contains the database queries
I follow a feature-based architecture for several reasons:
- Easy Maintenance, since all related files for a specific feature are grouped together making changes becomes more efficient. Everything you need is right there, reducing the time and effort spent searching across the projects
- Team Collaboration, in a team setting a feature-based allows team members to work independently on different features without stepping on each other’s toes
Extensions
Below is the list of extensions I mainly use and how each one supports my project workflow.
- ES7+ React/Redux/React-Native snippets
- ESLint
- Error Lens
- Tailwind CSS IntelliSense
- Remote - SSH
- Remote Explorer
So, that’s how i manage my project full-stack project.