Vse Bude 🇺🇦
As an online auction platform, “Vse-bude” provides a simple and secure environment for anyone who wants to both support Ukraine and sell an item which they no longer find a need in and hand it over to new potential owners via the auction bidding system. The funds that will be raised during those auctions will be donated to one of Ukraine's accredited charity organisations/funds and the item will be delivered to its new owner.
Packages 📦
Requirements:
- NodeJS (16.x.x)
- NPM (8.x.x)
Note: If you are using Windows, do these two additional steps before cloning the repo:
- Change
eol
setting in your code editor tolf
. - Change the
autocrlf
setting toinput
in the Git settings:
git config --global core.autocrlf input
Before start
Backend 💾
- Create DB using PostgreSQL
- Fill
.env
inpackages/backend
folder - Run
cd packages/backend && npm run db:generate && npm run db:migrate && npm run db:seed
Frontend 🖥
- Fill
.env
inpackages/frontend
folder
Mobile 📱
- Fill
.env
inpackages/mobile
folder
How to start
npm run install:all
at the root- Start backend
cd packages/backend && npm run start
- Start frontend
cd packages/frontend && npm run start
- Start mobile
cd packages/mobile && npm run start
ornpm run android
ornpm run ios
in a new terminal
There are also other npm scripts, they are used for code style checks and linting
DB Schema
Technologies 🛠
Backend
- Prisma - an ORM
- Express - a node.js framework
- PostgreSql - for DB
Frontend
- Next - React framework
- Emotion - styling
- Redux - state container for JS apps
- Redux/Toolkit - toolset for efficient Redux development
Mobile
- React-Native - UI software framework
- Redux - state container for JS apps
- Redux/Toolkit - toolset for efficient Redux development
Shared
- Joi - schema description language and data validator for JS
Code quality
We have certain quality criteria, which we should follow during application development.
Git flow
Commits
Commit message must have next structure:
<project-prefix>-<task #>: <description>
task #
- Trello task numberdescription
- a short summary of code changes
Examples:
VB-15: add private routes
VB-9: change button-styles
VB-32: fix user profile avatar
Branches
In this project we follow with Pull Request process. Two main branches (main
and release
) are protected with Github branch protection rules:
- Require pull request with 1 review from code owner before merging
- Require all ci checks
Normal flow is to create a new branch for each task or group of linked tasks. Name of branch must have next structure:
<prefix>/<description>
prefix
- allowed prefixes:feature
,fix
.description
- a short summary of the task
Examples:
feature/add-private-routes
fix/adjust-button-styles
After task is completed ― create PR of your branch into main
and assign other developers to review.