Skip to content

GDG-Yasar-Software-Team/core

Repository files navigation

GDG on Campus Yasar University - Core

Monorepo for GDG on Campus Yasar University projects.

Scope Legend for Conventional Commits

We should use this scopes in PR titles:

Tag Scope
us user-service
ma mail-service
fb form-service
ff form-frontend
ev event-service

Example Usage

  • feat(fb): add pagination feature to get submissions endpoint
  • ref(fb): move pagination logic to service layer
  • fix(ff): fix submit button onclick event
  • chore(ff): update dependencies

Structure

├── services/       # Backend microservices (FastAPI)
├── frontend/       # Frontend applications (React)
├── scripts/        # Utility scripts (data sync, etc.)
└── docs/           # Documentation

Getting Started

Clone the repository

git clone https://github.com/GDG-Yasar-Software-Team/core.git
cd core

Read the docs

Development

Default Local Ports

  • Mail service: http://localhost:8000
  • User service: http://localhost:8001
  • Form service: http://localhost:8002
  • Event service: http://localhost:8003
  • Form frontend: http://localhost:3000

Quick Start with Makefile

We provide a Makefile for common development tasks:

# Show all available commands
make help

# Setup
make install                # Install all dependencies (backend + frontend)

# Development
make dev                    # Run both backend and frontend dev servers
make run-form-service       # Run form service (FastAPI) only
make run-form-frontend      # Run form frontend dev server only
make run-mail-service       # Run mail service (FastAPI) only

# Code quality
make lint                   # Lint & auto-fix both backend and frontend
make format                 # Format both backend and frontend

# Testing
make test-mail-service      # Run mail service tests

# Utilities
make clean                  # Remove cache and build artifacts
make run-mail-campaign      # Run email campaign CLI

Form Backend

FastAPI service using uv and Ruff.

make install            # Install dependencies
make run-form-service   # Run dev server
make lint               # Lint & auto-fix
make format             # Format code

Form Frontend

React app using Bun and Biome.

make install            # Install dependencies
make run-form-frontend  # Run dev server
make lint               # Lint & auto-fix
make format             # Format code

Mail Service

Email campaign microservice using uv and Ruff.

make install            # Install dependencies
make run-mail-service   # Run dev server
make test-mail-service  # Run tests
make lint               # Lint & auto-fix

See services/mail/README.md for detailed documentation.

Event Service

Event microservice for GDG on Campus Yasar using uv and Ruff.

make install            # Install dependencies
make run-event-service  # Run dev server
make test-event-service # Run tests
make lint               # Lint & auto-fix

See services/event/README.md for detailed documentation.

Workflow

  1. Create an issue for your task
  2. Create a branch from main
  3. Make changes and commit
  4. Push and create a Pull Request
  5. Add reviewers: @seberatolmez or @dogukanurker
  6. Wait for at least one approval
  7. Squash and merge (not regular merge)

Never commit directly to main. Always use Squash and merge to keep history clean.

License

This repository is licensed under the Apache License 2.0. See LICENSE.

About

GDG Yasar Software Team Monorepo

Resources

License

Contributing

Stars

Watchers

Forks

Contributors