From a954f915c6bfe3f504eb9460f80e0ca47e4cae89 Mon Sep 17 00:00:00 2001
From: Ebuka Abraham <45390219+buka4rill@users.noreply.github.com>
Date: Sun, 9 Jun 2024 22:02:50 +0200
Subject: [PATCH] chore: initial readme setup
---
.env.local | 16 +++
README.md | 284 +++++++++++++++++++++++++++++++++++++++++++----------
2 files changed, 248 insertions(+), 52 deletions(-)
diff --git a/.env.local b/.env.local
index afa97ff80..c2dbe4b58 100644
--- a/.env.local
+++ b/.env.local
@@ -1,3 +1,19 @@
+# In all environments, the following files are loaded if they exist,
+# the latter taking precedence over the former:
+#
+# * .env.local contains default values for the environment variables needed by the app (use with PROFILE=local)
+# * .env.$PROFILE committed environment-specific defaults
+# * .env.development.local uncommitted environment-specific overrides (only with PROFILE=development)
+#
+# Real environment variables win over .env files.
+#
+# Warning, We don't use ".env" file because it is prioritize as the same level as real environment variables.
+#
+# Warning, if you don't run your command with "PROFILE=prod" at the beginning, like "PROFILE=prod npm run schema:generate"
+# .env files with dynamic name like ".env.$PROFILE" won't be loaded,
+# even if you have the "PROFILE" variable in your ".env.local" file.
+
+
PROFILE=local
NODE_ENV=development
diff --git a/README.md b/README.md
index 00a13b112..3048d25be 100644
--- a/README.md
+++ b/README.md
@@ -1,73 +1,253 @@
-
-
-
-
-[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
-[circleci-url]: https://circleci.com/gh/nestjs/nest
-
- A progressive Node.js framework for building efficient and scalable server-side applications.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Description
-
-[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.
-
-## Installation
+# [App Name] Integration Documentation
+
+## Overview
+
+[Description]
+
+## Folder Structure
+
+```
+|--- src
+| |--- database
+| |--- modules
+| |--- shared
+| |--- app.module.ts
+| |--- main.ts
+|--- .env.local
+|--- .gitignore
+|--- package.json
+|--- tsconfig.json
+```
+
+## Dependencies (Dev)
+
+- Node.js
+- TypeScript
+- Express
+- ts-node-dev
+- [Other dependencies including nestjs' dependencies]
+
+## Getting Started
+
+Before you begin, ensure you have the following installed on your machine:
+
+- [Node.js](https://nodejs.org/) (v14 or later)
+- [npm](https://www.npmjs.com/) (Node Package Manager, included with Node.js)
+- [NestJs](https://docs.nestjs.com) (NestJS' Documentation)
+- [Git](https://git-scm.com/)
+
+## Contribution Guide
+
+## Getting Started
+
+#### If you don't have git on your machine, [install it](https://docs.github.com/en/get-started/quickstart/set-up-git).
+
+## Fork this repository
+
+Fork this repository by clicking on the fork button on the top of this page.
+This will create a copy of this repository in your account.
+
+## Clone the repository
+
+
+
+Now clone the forked repository to your machine. Go to your GitHub account, open the forked repository, click on the code button and then click the _copy to clipboard_ icon.
+
+Open a terminal and run the following git command:
+
+```bash
+git clone "url you just copied"
+```
+
+where "url you just copied" (without the quotation marks) is the url to this repository (your fork of this project). See the previous steps to obtain the url.
+
+
+
+For example:
```bash
-$ npm install
+git clone git@github.com:this-is-you/hng_project.git
```
-## Running the app
+where `this-is-you` is your GitHub username. Here you're copying the contents of the first-contributions repository on GitHub to your computer.
+
+## Create a branch
+
+Change to the repository directory on your computer (if you are not already there):
```bash
-# development
-$ npm run start
+cd hng_project
+```
-# watch mode
-$ npm run start:dev
+Now create a branch using the `git switch` command:
-# production mode
-$ npm run start:prod
+```bash
+git switch -c your-new-branch-name
```
-## Test
+For example:
```bash
-# unit tests
-$ npm run test
+git switch -c add-alonzo-church
+```
+
+### Make Changes
-# e2e tests
-$ npm run test:e2e
+Make your changes to the codebase. Ensure your code follows the project's coding standards and guidelines.
-# test coverage
-$ npm run test:cov
+### Run Tests
+
+Run the existing tests to ensure your changes do not break anything. If you added new functionality, write corresponding tests.
+
+```sh
+npm run test
```
-## Support
+## commit those changes
+
+Now open `Contributors.md` file in a text editor, add your name to it. Don't add it at the beginning or end of the file. Put it anywhere in between. Now, save the file.
+
+
+
+If you go to the project directory and execute the command `git status`, you'll see there are changes.
+
+Add those changes to the branch you just created using the `git add` command:
+
+## Push changes to GitHub
+
+Push your changes using the command `git push`:
+
+```bash
+git push -u origin your-branch-name
+```
+
+replacing `your-branch-name` with the name of the branch you created earlier.
+
+
+ If you get any errors while pushing, click here:
+
+- ### Authentication Error
+ remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
+ remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
+ fatal: Authentication failed for 'https://github.com//first-contributions.git/'
+ Go to [GitHub's tutorial](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account) on generating and configuring an SSH key to your account.
+
+
+
+## Submit your changes for review into Staging
+
+If you go to your repository on GitHub, you'll see a `Compare & pull request` button. Click on that button.
+
+
+
+Now submit the pull request.
+
+
+
+Soon your changes will be merged into the staging branch of this project. You will get a notification email once the changes have been merged.
+
+## Setup Instructions
+
+### 1. Clone the Repository
+
+First, clone the repository to your local machine using Git.
+
+```sh
+git clone https://github.com/your-username/[app-name].git
+cd [app-name]
+```
+
+### 2. Install Dependencies
+
+Navigate to the project directory and install the required dependencies.
+
+```sh
+npm install
+```
+
+### 3. Configure Environment Variables
+
+Create a `.env` file in the root directory of the project and add your environment-specific variables. You can use the provided `.env.example` file as a reference.
+
+```sh
+cp .env.example .env
+```
+
+Edit the `.env` file to match your environment configuration.
+
+### 4. Compile TypeScript
+
+Compile the TypeScript code to JavaScript.
+
+```sh
+npm run build
+```
+
+### 5. Run the Development Server
+
+Start the development server with the following command. This will also watch for any changes in your code and automatically restart the server.
+
+```sh
+npm run start:dev
+```
+
+### 6. Run the Production Server
+
+To run the application in a production environment, use the following command:
+
+```sh
+npm run start
+```
+
+### 7. Verify the Setup
+
+Open your browser and navigate to `http://localhost:3000/api/v1/` to verify that the application is running correctly.
+
+## Folder Structure
+
+Here's an overview of the project's folder structure:
+
+```
+|--- src
+| |--- controllers
+ |--- v1
+| |--- database
+| |--- interfaces
+| |--- middlewares
+| |--- routes
+| |--- v1
+| |--- services
+| |--- utils
+| |--- server.ts
+|--- .env
+|--- app.ts
+|--- .gitignore
+|--- package.json
+|--- tsconfig.json
+```
+
+## Scripts
+
+Here are some useful npm scripts that you can use during development and production:
+
+- `npm run build`: Compiles the TypeScript code to JavaScript.
+- `npm run start:dev`: Starts the development server with live reloading.
+- `npm run start`: Starts the production server.
+- `npm run test`: Runs the test suite (if available).
+- `npm run lint`: Runs the linter to check for code style issues.
+
+## Additional Resources
+
+- [Node.js Documentation](https://nodejs.org/en/docs/)
+- [TypeScript Documentation](https://www.typescriptlang.org/docs/)
+- [Express Documentation](https://expressjs.com/)
-Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).
+By following these steps, you should have your Node.js and TypeScript application up and running. If you encounter any issues, please refer to the documentation of the respective tools or seek help from the community.
-## Stay in touch
+## API Endpoints
-- Author - [Kamil MyĆliwiec](https://kamilmysliwiec.com)
-- Website - [https://nestjs.com](https://nestjs.com/)
-- Twitter - [@nestframework](https://twitter.com/nestframework)
+All API endpoints can be referenced in the [API Reference](API_REFERENCE.md) document.
-## License
+## Versioning
-Nest is [MIT licensed](LICENSE).
+This project is versioned to ensure backward compatibility and easy maintenance. The current version is [version].