Day 1 | Xhopie - Starting up
Tags: webdev, beginners, nextjs, node
Published: 2024-01-01 01:26:04

This will be a blog series where I document my progress on Xhopie, a self project I'm starting to learn about general concepts regarding software development by implementing an e-commerce application with different tools and technologies to learn how to do important and common things in different languages.

Here's the main repo link: https://github.com/the-halfbloodprince/xhopie-main

Starting this out today, on the 1st of Jan, 2024. (Please don't judge me)

I'll not be going into in-depth summarization today, as I don't have much to say at this point, and it's already 6:20am, I really need to go to sleep.

## Work Overview

So here are a few basic overviews

- Decided to use git submodules as I'll be creating various repositories in future to try the same things out in other technologies such as Angular and Spring Boot.
- Decided to start using a set of flags on my commit messages which will make it easier to navigate and read. I believe this kind of organization technique must already be used elsewhere as well, but I haven't seen much of it from the projects I have encountered or the organizations I have worked for. So, yeah it's simple and obvious but I'm glad I came up with it myself and started using it from the start of the project.
Here are the flags at the moment:
  - **DIARY**
	just updating the diary.md
  - **SYNC**
	just syncing/updating submodules
  - **CONFIG**
    makes configurational changes
    like,
    - adding dependencies
    - making global file structure changes
  - **FEATURE**
    adding features like:
    - adding a new client component
    - adding a new REST endpoint functionalities
  - **REFACTOR**
    refactors like:
    - refactoring a react component to multiple individual components
  - **OOPS**
    made a mistake somewhere down the line, this commit is a part of an effort to fix it
- Decided to keep a `diary.md` file explaining the work for that day. But now that I'm writing this blog, I'm starting to wonder if that's useless, but nonetheless, let's keep it for now.

## Work (repo wise)

Here's an overview of the work in the respective repositories. The same can also be found in their corresponding `diary.md` files

### xhopie (Main)
- started the project structure
- decided to use git submodules
- learnt how to use and work with submodules
- accidentally made blunders with submodules (happens everytime I try out a new git feature)
- made respective changes in the next client and node server repositories
- set up my VS-Code workspace config
- added flags to be used in commit messages for better readability and navigation through commit history
- regretted not recording this session (would have been fun to start documenting it on YouTube)

### xhopie-client-next
- decided the project structure
- made 3 categories for the app
  - marketing (all the landing pages / marketing pages)
  - store (main store app)
  - seller (seller interface)
  - admin (admin dashboard)
- gave each of these their own `layout.tsx` file as they can have drastically separate layouts later.
- made all of them to by-default reference the `globals.css` in the `app` folder. As they would progressively need different styles, we may point to different `globals.css` in their respective folders/groups.

### xhopie-server-node
- just did a bare initialization of the app
- added typescript, express and nodemon
- nothing much for today in this app

Today's 1st of Jan 2024, and this is my first new year resolution. Starting out the project with hopes of atleast staying consistent and building something that can teach a lot.

Bye.