/showcase

Showcase one's self, easy peasy!

Primary LanguageTypeScriptMIT LicenseMIT

Showcase

status-image coverage-image

Overview

This project is a showcase of profiles for political figures.

Structure of the Project

The project has the following structure:

├── README.md
├── apps # Directory for applications
│ └── web # Web application built using Next.js
├── configs # Configuration files, including tsconfig, jest, eslint
├── tools # Node.js scripts and tools
│ └── utils # Utility scripts and tools

Using the Project

To use this mono-repo project, please follow these steps:

First, prepare your development environment. You need to install Node version 16.0.0 or higher. Additionally, install turbo and pnpm globally by running the following commands:

npm install -g pnpm
npm install -g turbo

Next, clone the mono-repo:

# Clone the repository (using HTTPS)
git clone https://github.com/neekware/showcase.git

# Change directory into the cloned repository
cd showcase

# Install dependencies
pnpm i

You can format all files of a specific type:

# Example: Format all .ts, .tsx, .json, .html, .css, .scss files
pnpm format

To run lint, build and test.

# lint all apps/packages
turbo lint

# build all apps/packages
turbo build

# test all apps/packages
turbo test

To run code coverage, coveralls (note: ci/cd).

# run test with coverage for all apps/packages
turbo coverage

# combine test coverage for all apps/packages
turbo coveralls

To clean build,test,lint cache artifact.

# clean all lint, build, test, ... etc. artifacts
turbo clean

To execute long-running processes.

# run the apps in development (watch mode)
turbo dev

# run the apps from the `build` artifacts (prod mode)
turbo start

To Install New Packages

To install new packages, you can use the following commands:

# Install an external dependency at the root/top-level in the main package.json
pnpm -w add <external-lib-name>

# Install a external development dependency at the root/top-level in the main package.json
pnpm -w add <external-lib-name> -D

# Install a dependency in a sub-package (lib/app) ONLY
# Example: pnpm --filter=ui add uuid
# (where "ui" is the internal package name and "uuid" is the external dependency)
pnpm --filter=<internal-package-name> add <external-lib-name>

Contribution

To contribute to the repository.

  • Fork the repository on GitHub.
  • Clone the repository locally.
  • Set up your environment and install global dependencies.
  • Install the recommended plugins (e.g., VSCode).
  • Make modifications, fix bugs, and add new features.
  • Write unit tests for your new logic.
  • Format, lint, test, and build.
  • Commit your changes to your own repository.
  • Merge your changes into the sandbox branch in your repository.
  • Issue a pull request (PR) from your repo/sandbox to showcase/sandbox.
  • Monitor your PR for further instructions and recommended fixes, if required.
  • Sync your forked repository with the upstream showcase repository.
  • Rinse and repeat.

Community Guidelines

  • There are no guarantees that all PRs will be accepted.
  • Respect each other and be objective when raising PRs, making comments, etc.
  • Enjoy contributing to the mono-repo.

License

  • Released under a (MIT) license.

Version

X.Y.Z Semantic Versioning

`MAJOR` version -- making incompatible API changes
`MINOR` version -- adding functionality in a backwards-compatible manner
`PATCH` version -- making backwards-compatible bug fixes

Lines of Code (auto-generated stats)

 Language             Files        Lines        Blank      Comment         Code
--------------------------------------------------------------------------------
 JSON                    23          444            0            0          444
 Markdown                11          310           95            0          215
 TypeScript              12          310           40           56          214
 Typescript JSX          12          250           22           17          211
 JavaScript              13          148            0           21          127
 YAML                     1            5            0            0            5
 CSS                      1            4            0            0            4
--------------------------------------------------------------------------------
 Total                   73         1471          157           94         1220
--------------------------------------------------------------------------------

Sponsors

[ Neekware Inc. ]