Welcome to the INKER Blog project! We're excited to have you here. This guide will help you get started with contributing to our project.
- 🚀 Getting Started
- 🛠️ Development Setup
- 📝 Contributing Process
- 🚀 Coding Standards
- ⚡ Quick Start Commands
- Support
Before you begin, ensure you have installed:
- Docker - Installation Guide
- Docker Compose - Installation Guide
Forking the repository
- Go to the Inker Respository test branch.
- Click on the fork option on the top right under the navbar.
- Click on Create a new fork.
- Uncheck the "Copy the master branch only" option.
- Click on the Create fork option.
The forked repository will be available in "your repositories".
Cloning the repository
- Go to your repositories and you can see the forked repository of Inker.
- Click on the "Code" option and copy the repository url.
- Go to your desired file location in the command prompt (terminal for linux).
- Enter the command
git clone the-url-you-copied
-
Start all services
sudo docker compose up
💡 Troubleshooting Tip: If MongoDB port 27017 is in use:
sudo kill -9 $(sudo lsof -t -i:27017)
-
Access the applications
- Frontend: http://localhost:5173
- Backend: http://localhost:3000
Verify the backend is running:
curl -X GET http://localhost:3000
-
Create your feature branch
git checkout -b origin/frontend/test
or
git checkout -b origin/backend/test
-
Keep your branch updated
git pull origin test
-
Commit your changes
git commit -m "feat: add new feature description"
-
Push to your branch
git push origin test
- Go to our GitHub repository
- Click "New Pull Request"
- Select
test
as the base branch - Add a descriptive title and detailed description
- Link any related issues
Maintaining a consistent coding style ensures code readability and maintainability. Please follow these guidelines:
- Follow the SOLID principles and MVC architecture.
- Keep functions and components small and focused on a single responsibility.
- Write clean and self-documenting code with meaningful variable and function names.
- Avoid unnecessary comments—the code should be self-explanatory.
- Ensure no console logs or debugging statements are left before committing.
- Files & Folders:
- Use
kebab-case
for folders (e.g.,user-profile
). - Use
dot-separated
names for files inside folders (e.g.,user.controller.ts
,auth.service.ts
,blog.model.ts
).
- Use
- Variables & Functions:
- Use
camelCase
for variables and functions (e.g.,fetchUserData
). - Use
PascalCase
for React components and classes (e.g.,UserProfile
).
- Use
- Database Schema Fields:
- Use
snake_case
for database fields (e.g.,profile_picture
).
- Use
- Constants:
- Use
UPPER_CASE
for constants (e.g.,DEFAULT_PAGE_SIZE
).
- Use
Use Conventional Commits format for consistency: :
markdown Copy Edit
feat
: New feature added (feat: add user authentication
)fix
: Bug fix (fix: resolve login issue
)chore
: Maintenance work (chore: update dependencies
)docs
: Documentation update (docs: improve README
)style
: Code style changes (formatting, missing semicolons, etc.)refactor
: Code improvements without changing functionalitytest
: Adding or modifying tests
Example commits:
git commit -m "feat: implement JWT authentication"
git commit -m "fix: resolve profile picture upload bug"
git commit -m "docs: add API usage instructions"
## ⚡ Quick Start Commands
```bash
# Clone and enter project
git clone https://github.com/your-username/inker-blog.git
cd inker-blog
# Start services
sudo docker compose up
# Create new feature branch
git checkout -b test origin/test
# Commit and push changes
git add .
git commit -m "feat: your changes"
git push origin test
Need help? Here's how you can reach us:
- Open an Issue
Thank you for contributing to INKER Blog! 🎉