Compare commits
6 Commits
main
...
2e14ea06c9
| Author | SHA1 | Date | |
|---|---|---|---|
| 2e14ea06c9 | |||
| 2a0d7fa1b8 | |||
| 823f91804a | |||
| c5433dfefd | |||
| 8af5ea02cd | |||
| f1dff9684b |
@@ -1,32 +0,0 @@
|
|||||||
## Brief overview
|
|
||||||
Project-specific frontend color theme guidelines for the vibing application. Defines a cohesive peach/coral/pink color palette with specific CSS custom properties, component styling patterns, and accessibility requirements.
|
|
||||||
|
|
||||||
## Color palette usage
|
|
||||||
- Always use the defined peach-coral color scheme: Primary Peach (#FFCDB2), Secondary Coral (#FFB4A2), Light Pink (#E5989B), Medium Mauve (#B5838D), Dark Purple (#6D6875)
|
|
||||||
- Implement CSS custom properties in src/index.css for all color definitions
|
|
||||||
- Use semantic color naming: --color-primary, --color-secondary, --color-bg-dark, --color-text-primary, etc.
|
|
||||||
- Support both dark and light modes using @media (prefers-color-scheme: light)
|
|
||||||
|
|
||||||
## Component styling patterns
|
|
||||||
- Buttons: Use gradient backgrounds, implement translateY(-2px) hover animations, apply consistent focus states with peach outline
|
|
||||||
- Cards: White backgrounds with subtle shadows, translateY(-8px) hover animations, 16px border radius, scale(1.05) image hover effects
|
|
||||||
- Links: Primary color #FFCDB2, hover colors #E5989B (dark mode) or #B5838D (light mode), no text decoration by default
|
|
||||||
- Use semantic CSS class names: .btn-primary, .btn-secondary, .btn-outline, .btn-ghost
|
|
||||||
|
|
||||||
## Interactive states and animations
|
|
||||||
- Apply subtle lift animations using transform: translateY(-2px) for hover effects
|
|
||||||
- Use rgba(255, 205, 178, 0.3) for focus rings and primary shadows
|
|
||||||
- Use rgba(229, 152, 155, 0.3) for secondary shadows
|
|
||||||
- Ensure hover states are distinct from focus states for accessibility
|
|
||||||
|
|
||||||
## File organization structure
|
|
||||||
- Place global styles and CSS custom properties in src/index.css
|
|
||||||
- Create individual .css files in src/components/ for component-specific styles
|
|
||||||
- Use src/App.css for utility classes
|
|
||||||
- Consider src/styles/ directory for additional theme files when needed
|
|
||||||
|
|
||||||
## Accessibility requirements
|
|
||||||
- Maintain minimum contrast ratios: 4.5:1 for normal text, 3:1 for large text
|
|
||||||
- Use --color-focus for focus indicators
|
|
||||||
- Test with color blindness simulators
|
|
||||||
- Ensure all interactive elements have proper focus states
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
## Brief overview
|
|
||||||
Project-specific git workflow guidelines emphasizing feature branch development, conventional commit messages, and proper branch management practices. Never work directly on main/master branches.
|
|
||||||
|
|
||||||
## Branch management strategy
|
|
||||||
- Always create feature branches for all development work
|
|
||||||
- Use kebab-case naming: feature/user-authentication, bugfix/login-validation, hotfix/security-patch, refactor/api-endpoints
|
|
||||||
- Keep feature branches short-lived (1-3 days ideally)
|
|
||||||
- One feature per branch, don't mix different types of changes
|
|
||||||
- Delete branches after successful merge
|
|
||||||
|
|
||||||
## Commit message conventions
|
|
||||||
- Use conventional commit format: type(scope): description
|
|
||||||
- Use present tense ("add feature" not "added feature")
|
|
||||||
- Be specific and descriptive in commit messages
|
|
||||||
- Reference issue numbers when applicable: feat(auth): add OAuth login #123
|
|
||||||
- Make frequent, small commits with clear purposes
|
|
||||||
|
|
||||||
## Development workflow steps
|
|
||||||
- Always start by ensuring main branch is up to date: git checkout main && git pull origin main
|
|
||||||
- Create new feature branch: git checkout -b feature/your-feature-name
|
|
||||||
- Before pushing, rebase with main: git fetch origin && git rebase origin/main
|
|
||||||
- Push feature branch: git push origin feature/your-feature-name
|
|
||||||
- Create Pull Request from feature branch to main
|
|
||||||
- Only merge after code review approval
|
|
||||||
|
|
||||||
## Code review requirements
|
|
||||||
- Create PR for all changes, no direct commits to main
|
|
||||||
- Request reviews from team members
|
|
||||||
- Address all feedback before merging
|
|
||||||
- Ensure all tests pass before creating PR
|
|
||||||
- Self-review changes before requesting reviews
|
|
||||||
- Update documentation when needed
|
|
||||||
|
|
||||||
## Emergency procedures
|
|
||||||
- For critical issues, create hotfix branches from main
|
|
||||||
- Make minimal necessary changes in hotfixes
|
|
||||||
- Test thoroughly before creating emergency PR
|
|
||||||
- Follow same review process even for hotfixes
|
|
||||||
22
README.md
22
README.md
@@ -5,28 +5,10 @@
|
|||||||
```mermaid
|
```mermaid
|
||||||
classDiagram
|
classDiagram
|
||||||
class Activity {
|
class Activity {
|
||||||
+Long id
|
|
||||||
+String name
|
+String name
|
||||||
+Location location
|
+Location location
|
||||||
+Integer priceRange
|
+Int priceRange
|
||||||
+List~String~ tags
|
+List~String~ tags
|
||||||
+String description
|
|
||||||
+LocalDateTime createdAt
|
|
||||||
+LocalDateTime updatedAt
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class Location {
|
|
||||||
+Long id
|
|
||||||
+String name
|
|
||||||
+String address
|
|
||||||
+String city
|
|
||||||
+String country
|
|
||||||
+String postalCode
|
|
||||||
+Double latitude
|
|
||||||
+Double longitude
|
|
||||||
+LocalDateTime createdAt
|
|
||||||
+LocalDateTime updatedAt
|
|
||||||
}
|
|
||||||
|
|
||||||
Activity <-- Location : belongs to
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -75,12 +75,6 @@
|
|||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.h2database</groupId>
|
|
||||||
<artifactId>h2</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- JSON Processing -->
|
<!-- JSON Processing -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
server:
|
server:
|
||||||
port: 8090
|
port: 8080
|
||||||
servlet:
|
servlet:
|
||||||
context-path: /api
|
context-path: /api
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ spring:
|
|||||||
|
|
||||||
# Database Configuration
|
# Database Configuration
|
||||||
datasource:
|
datasource:
|
||||||
url: jdbc:postgresql://dind:5432/vibing
|
url: jdbc:postgresql://localhost:5432/vibing
|
||||||
username: vibing
|
username: vibing
|
||||||
password: vibing
|
password: vibing
|
||||||
driver-class-name: org.postgresql.Driver
|
driver-class-name: org.postgresql.Driver
|
||||||
|
|||||||
@@ -1,18 +1,5 @@
|
|||||||
CREATE SCHEMA IF NOT EXISTS vibing;
|
CREATE SCHEMA IF NOT EXISTS vibing;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS vibing.locations (
|
|
||||||
id SERIAL PRIMARY KEY,
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
address TEXT,
|
|
||||||
city TEXT,
|
|
||||||
country TEXT,
|
|
||||||
postal_code TEXT,
|
|
||||||
latitude DOUBLE PRECISION,
|
|
||||||
longitude DOUBLE PRECISION,
|
|
||||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
||||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS vibing.activities (
|
CREATE TABLE IF NOT EXISTS vibing.activities (
|
||||||
id SERIAL PRIMARY KEY,
|
id SERIAL PRIMARY KEY,
|
||||||
name TEXT NOT NULL,
|
name TEXT NOT NULL,
|
||||||
@@ -33,3 +20,17 @@ CREATE TABLE IF NOT EXISTS vibing.activity_tags (
|
|||||||
FOREIGN KEY (activity_id) REFERENCES vibing.activities(id) ON DELETE CASCADE,
|
FOREIGN KEY (activity_id) REFERENCES vibing.activities(id) ON DELETE CASCADE,
|
||||||
PRIMARY KEY (activity_id, tag)
|
PRIMARY KEY (activity_id, tag)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS vibing.locations (
|
||||||
|
id SERIAL PRIMARY KEY,
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
address TEXT,
|
||||||
|
city TEXT,
|
||||||
|
country TEXT,
|
||||||
|
postal_code TEXT,
|
||||||
|
latitude DOUBLE PRECISION,
|
||||||
|
longitude DOUBLE PRECISION,
|
||||||
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||||
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -2,13 +2,11 @@ package com.vibing.backend;
|
|||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.test.context.ActiveProfiles;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Basic test class for the Vibing Backend application.
|
* Basic test class for the Vibing Backend application.
|
||||||
*/
|
*/
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
@ActiveProfiles("test")
|
|
||||||
class VibingBackendApplicationTests {
|
class VibingBackendApplicationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -1,19 +1,8 @@
|
|||||||
spring:
|
spring:
|
||||||
datasource:
|
datasource:
|
||||||
url: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=PostgreSQL
|
url: jdbc:postgresql://localhost:5432/your_test_database
|
||||||
username: sa
|
username: test_user
|
||||||
password:
|
password: test_password
|
||||||
driver-class-name: org.h2.Driver
|
|
||||||
|
|
||||||
h2:
|
|
||||||
console:
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
jpa:
|
|
||||||
hibernate:
|
|
||||||
ddl-auto: none # Let Flyway handle schema creation
|
|
||||||
show-sql: true
|
|
||||||
database-platform: org.hibernate.dialect.H2Dialect
|
|
||||||
|
|
||||||
flyway:
|
flyway:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|||||||
@@ -9,6 +9,3 @@ services:
|
|||||||
POSTGRES_DB: vibing
|
POSTGRES_DB: vibing
|
||||||
volumes:
|
volumes:
|
||||||
- postgres_data:/var/lib/postgresql/data
|
- postgres_data:/var/lib/postgresql/data
|
||||||
|
|
||||||
volumes:
|
|
||||||
postgres_data:
|
|
||||||
|
|||||||
Reference in New Issue
Block a user