Skip to content

Monorepository to the Codenaute, a new way to code in your web browser.

License

Notifications You must be signed in to change notification settings

NeelClaudel/codenaute

 
 

Repository files navigation

Welcome to CODENAUTE 🧑🚀

We use pnpm built-in support to manage our monorepository.

IDE configuration

It is highly recommended to be working with VSCode, an IDE that does not need to be presented. Internally, we use a set of code extensions enabling a minimum of code standardization, making the life of many developers more enjoyable. Those extensions are given in .vscode/extensions.json, and can be downloaded directly via the VSCode extension store. This goes hand and hand with properly configured VSCode workspace settings, available in .vscode/settings.json.

Requirements

To use this repository, you need to have the following tools installed:

Install dependencies

To install all dependencies, run:

make install

If you want to hard install all dependencies, you can run:

make hard-install

First start of applications

After install all dependencies, we need to start the applications.

First run :

make start-database

Then we need to initialize the database, you can do it running:

make init-database

Now you are ready !

As a developer, to work on the project on everyday, you will certainly want to start the applications seperately in debug mode :

Run make start-client and make start-server in two differents terminals.

You can also see logs of database by running make start-database.

If you want to just launch all in quiet mode, run :

make start-all

Common workspace

Common workspace is used to share code between client <> server.

Git hooks

We use Husky to ease git hooks.

We follow the Conventional Commits specs for our commit message and this is check on commit-msg.

We use the same prefixes for branch names and this is also checked on branch-naming.

We also follow the prettier specs for code formatting and this is checked on pre-commit.

Commit types / Branch prefixes

Here is the list of commit types and branch prefixes you can chose from :

Commit Type Title Description
feat ✨ Features A new feature
fix 🐛 Bug Fixes A bug Fix
docs 📚 Documentation Documentation only changes
style 💎 Styles Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
refactor 📦 Code Refactoring A code change that neither fixes a bug nor adds a feature
perf 🚀 Performance Improvements A code change that improves performance
test 🚨 Tests Adding missing tests or correcting existing tests
build 🛠 Builds Changes that affect the build system or external dependencies (example scopes: next, webpack, pnpm)
ci ⚙️ Continuous Integrations Changes to our CI configuration files and scripts
chore ♻️ Chores Other changes that don't modify src or test files
revert 🗑 Reverts Reverts a previous commit

Branch names

See the regex validating the branch naming here.

Structure :

<user>/<type>/<short-description>

Examples :

rv/feat/signup-page
jk/ci/github-actions-setup
nc/fix/calendar-input-focus-not-working

Commit messages

Structure :

<type>(optional scope): <description>

Examples :

ci(front): setup storybook tests
fix: send cors headers
feat(groups): add comment section

Prettier

To maintain some minimal standards within our codebase, we rely on prettier that is configured through .prettierrc. We use .prettierignore to avoid conflicts with some configuration files that would otherwise be broken by using prettier. Make sure prettier is correctly used in VSCode by installing the VSCode extension.

Node version

We did set up a .nvmrc file to allow developers to quickly change and use the right node version. See nvm package and deeper shell integration.

About

Monorepository to the Codenaute, a new way to code in your web browser.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 79.4%
  • Makefile 7.9%
  • JavaScript 5.5%
  • CSS 2.9%
  • HTML 2.5%
  • Shell 0.9%
  • Dockerfile 0.9%