GithubHelp home page GithubHelp logo

backend-starter's Introduction

BSA-2022 | Streamlet

ℹ️ General Info

This is the repository responsible for Streamlet's apps.

🏭 Applications

  • Backend — Streamlet's application backend.

    To work properly, fill in the .env file. Use the .env.example file as an example.

  • Frontend — Streamlet's application frontend.

    To work properly, fill in the .env file. Use the .env.example file as an example.

  • Shared — Streamlet's application common modules for reuse.

🖍 Requirements

🏃‍♂️ Simple Start

Setup database

  1. Create .env folder at the root project and add api-db.env file according to .env.example

Setup apps

  1. Fill ENVs in each project
  2. npm install at the root
  3. npx simple-git-hooks at the root

Run project

Each project run in the separate terminal

  1. Go to .docker folder and run: docker compose up -d
  2. Apply first migration to DB: npm run migrate
  3. Run: npm run start:backend
  4. Run: npm run start:frontend

Code Quality

Static analyzers are used for both frontend and backend projects to ensure basic code quality. Additionally, quality criteria rules are enforced during code review and audit.

Architecture

💽 DB Schema

erDiagram
  users {
      string id
      string email
      string  password
      boolean isActivated
      dateTime created_at
      dateTime updated_at
  }
Loading

🧑‍💻 CI

🗜 Tools

🌑 Backend

🌕 Frontend

🥊 Code quality

  • simple-git-hooks — a tool that lets you easily manage git hooks.
  • lint-staged — run linters on git staged files.
  • editorconfig — helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs.
  • prettier — an opinionated code formatter.
  • ls-lint — file and directory name linter.
  • eslint – find problems in your JS code
  • stylelint – Find and fix problems in your CSS code

🗞 Git

📊 Branches

  • production - production source code.
  • development - staging source code.

🌳 Branch flow

<type>/<project-prefix><ticket-number>-<short-desc>
Types:
  • task
  • fix
Examples:
  • task/design5-add-signin-page
  • task/blog12-add-filters
  • fix/design16-fix-signup-validation

🗂 Commit flow

<project-prefix>-<ticket-number>: <modifier> <desc>
Modifiers:
  • + (add)
  • * (edit)
  • - (remove)
Examples:
  • blog-5: + form component
  • design-12: * filter markup
  • blog-16: - require prop for nickname field

📦 CD

Handled by GitHub Actions.

backend-starter's People

Contributors

vitaliibedletskyi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.