Main front-end repository for terampil.com development
Please read this information carefully before going to develop the core of this platform. Below are pre-requisites that you must full-fill in order to develop the platform.
For this first version, we use technology stacks as follows:
- Typescript
-
Next.js
- Micro
- React
- Emotion
- CSS Modules (only for SASS/SCSS files)
So, make sure you have a:
- Node JS installed (>=8.0.0)
- Yarn installed
Dont forget to duplicate .env.example
file to .env
, and write your own server configuration there.
Please use the branching guidelines, as follows:
-
master
:- Protected: Yes
- Description: Will only used whenever we have to release to production. Minor/Less Bug accepted. Can only merged after decision at sprint retro.
- Auto/Deploy: Production Server at https://terampil.com.
-
stage
:- Protected: Yes
- Description: Will only used to UAT (User Acceptance Test). Minor/Less Bug accepted. Can only merged after decision at sprint retro.
- Auto/Deploy: Staging Server at https://stage.terampil.id.
-
test
:- Protected: Yes
- Description: Will only used to internal test. Bug's are accepted.
- Auto/Deploy: Testing Server at https://test.terampil.id.
-
feature/feature-name
:- Protected: No
- Description: You must create new feature branch with cloned from
master
branch. The feature name is based on the issue title created. - Auto/Deploy: No
-
hotfix/hotfix-name
:- Protected: No
- Description: You must create patch/bugfix feature branch with cloned from
master
branch. The hotfix name is based on the issue title created. - Auto/Deploy: No
We're using Codeship for deploying to the servers. You can push to branch test to begin deploying to test.terampil.id.
- You're free to create any branch for your own testing purpose.
- For Merge Request, don't forget to check to remove your current branch upon successfull merge.
- Each Merge Request, please inform me at Whats App group if in any condition I'm forgot to check and review your merge request.
Use Conventional Commits to standardize commit messages:
-
You need to write your commit title as below.
type(scope): description
With type must be one of the following:
- feat: A new feature
- fix: A bug fix
- docs: Documentation only changes
- storybook: Storybook only changes
- refactor: A code change that neither fixes a bug nor adds a feature
- style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
- test: Adding missing tests or correcting existing tests
- perf: A code change that improves performance
- build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
- ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
For example,
fix(Nav): Bug "active" className when match current route
feat(Header): Add avatar image
-
If your commit is also a breaking change, you need to write an optional description as the example below.
BREAKING CHANGE: Deprecate several props on Button
It is important so each package that is being generated every publish can be as descriptive as possible.
Below are development structure:
File or Directory | Description |
---|---|
src/components |
You can separate any component here. Use in pages or related components. |
src/pages |
Define all page screens here. |
src/server/routes.ts |
Define your routes here. |