Malaguth / skill-tracking

This repository aims to create an example of skill-tracking software made as a study exercise.
MIT License
5 stars 0 forks source link

Create backend structure #37

Open Malaguth opened 6 months ago

Malaguth commented 6 months ago

User Story

As a Backend Developer, I want to set up the project structure for a Node.js application using TypeScript and MVC (Model-View-Controller) architecture. This will provide a well-organized, scalable, and maintainable codebase, which is crucial for efficient development and future growth of the application.

Description

This user story focuses on the initial setup of the project structure for a Node.js application using TypeScript and MVC (Model-View-Controller) architecture. The goal is to create a robust and efficient development environment that encourages separation of concerns and clean code practices. This includes setting up the basic directory structure following MVC principles, installing necessary dependencies, and configuring TypeScript for the project.

Acceptance Criteria

  1. Initialize a new Node.js project with a package.json file by running pnpm create ....
  2. Set up the directory structure following the MVC pattern. This includes separate directories for models, views, and controllers, as well as other necessary directories, such as those for routes, utilities, and tests.
  3. Create a basic model, view, and controller as placeholders to demonstrate the correct placement and structure of files.
  4. Set up a build script in the package.json file to compile TypeScript into JavaScript.
  5. Ensure that the application runs correctly and that there are no errors or issues with the initial setup.
  6. Review the project structure with the development team and get their approval.
  7. Document the process of setting up the project structure, including any necessary commands or configurations.
  8. Update the project documentation with the final version of the project structure setup process.
Malaguth commented 6 months ago

@jpbahiaz, could you help me define if using npm or another manager as yarn is better? Also, I think the current LTS version is the best option. Do you agree?

jpbahiaz commented 6 months ago

I agree. I'd suggest using pnpm as a package manager but I think we should stick with npm for simplicity.