Skip to content

Commit

Permalink
Init commit with all the files
Browse files Browse the repository at this point in the history
  • Loading branch information
Xza85hrf committed Dec 2, 2024
1 parent f0fba58 commit 1ef3aa2
Show file tree
Hide file tree
Showing 108 changed files with 22,047 additions and 0 deletions.
25 changes: 25 additions & 0 deletions .env.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Database Configuration
# Format: postgresql://[user]:[password]@[host]:[port]/[dbname]
DATABASE_URL=postgresql://user:password@host:port/dbname

# Database Connection Details
PGUSER=your_db_user # PostgreSQL username
PGPASSWORD=your_db_password # PostgreSQL password
PGHOST=your_db_host # Database host (default: localhost)
PGPORT=your_db_port # Database port (default: 5432)
PGDATABASE=your_db_name # Database name

# GitHub Integration
# Generate token at: https://github.com/settings/tokens
# Required scopes: repo
GITHUB_TOKEN=your_github_token

# Security Configuration
# Generate secure random strings for these values in production
# Minimum length: 32 characters
JWT_SECRET=your_jwt_secret # Used for JWT token generation
COOKIE_SECRET=your_cookie_secret # Used for session cookie encryption

# Analytics Integration (Optional)
# Format: UA-XXXXXXXX-X or G-XXXXXXXXXX
GOOGLE_ANALYTICS_ID=your_ga_id
23 changes: 23 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Default owners for everything in the repo
* @admin

# Frontend specific files
/client/ @frontend-team

# Backend specific files
/server/ @backend-team

# Database related files
/db/ @database-team

# Documentation files
/docs/ @tech-writers @admin

# Configuration files
*.json @devops-team
*.yml @devops-team
*.config.* @devops-team

# Security sensitive files
.env.* @security-team
/server/routes.ts @security-team
39 changes: 39 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

## Our Standards

Examples of behavior that contributes to a positive environment:

* Being respectful of differing viewpoints and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes
* Focusing on what is best for the community

Examples of unacceptable behavior:

* The use of sexualized language or imagery
* Trolling, insulting or derogatory comments
* Personal or political attacks
* Public or private harassment
* Publishing others' private information
* Other conduct which could reasonably be considered inappropriate

## Enforcement

Violations of the Code of Conduct may be reported to the project team. All
complaints will be reviewed and investigated promptly and fairly.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org),
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
65 changes: 65 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Contributing to Portfolio Website

Thank you for your interest in contributing to our portfolio website project! This document provides guidelines and instructions for contributing.

## Development Process

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Run tests
5. Submit a pull request

## Setup Development Environment

1. Clone the repository:
```bash
git clone https://github.com/Xza85hrf/Modern-portfolio-dashboard.git
cd Modern-portfolio-dashboard
```

2. Install dependencies:
```bash
npm install
```

3. Set up environment variables:
- Copy `.env.template` to `.env`
- Fill in required variables

4. Start development server:
```bash
npm run dev
```

## Code Style Guidelines

- Follow TypeScript best practices
- Use ESLint and Prettier configurations
- Write meaningful commit messages
- Document new features

## Testing

- Write tests for new features
- Ensure all tests pass locally
- Include both unit and integration tests

## Pull Request Process

1. Update documentation
2. Add/update tests
3. Follow PR template
4. Request review from relevant team members

## Questions?

Feel free to open an issue for:
- Feature proposals
- Bug reports
- Documentation improvements
- General questions

## Code of Conduct

Please note that this project follows our [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you agree to uphold this code.
30 changes: 30 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Pull Request Description

## Changes Made
<!-- Describe your changes in detail -->

## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Other (please describe):

## Testing
<!-- Describe the tests you ran and their results -->
1. Tested admin dashboard functionality
2. Verified analytics data collection
3. Checked responsive design

## Checklist
- [ ] My code follows the project's coding standards
- [ ] I have updated the documentation accordingly
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix/feature works
- [ ] All tests pass locally

## Screenshots (if applicable)
<!-- Add screenshots to help explain your changes -->

## Additional Notes
<!-- Add any other context about the PR here -->
56 changes: 56 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: CI/CD Pipeline

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
test:
runs-on: ubuntu-latest

services:
postgres:
image: postgres:latest
env:
POSTGRES_USER: ${{ secrets.PGUSER }}
POSTGRES_PASSWORD: ${{ secrets.PGPASSWORD }}
POSTGRES_DB: ${{ secrets.PGDATABASE }}
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5

steps:
- uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '20'
cache: 'npm'

- name: Install Dependencies
run: npm install

- name: Run Tests
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
COOKIE_SECRET: ${{ secrets.COOKIE_SECRET }}
run: npm test

- name: Build Application
run: npm run build

deploy:
needs: test
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'

steps:
- name: Deploy to Replit
uses: JSpaceTeam/replit-deploy@v1
with:
replit_token: ${{ secrets.REPLIT_TOKEN }}
54 changes: 54 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Dependencies
node_modules
/.pnp
.pnp.js

# Production
/dist
/build
/server/public

# Development
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# Logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
logs
*.log

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Testing
/coverage

# Editor directories and files
.idea
.vscode
*.swp
*.swo
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

# TypeScript
*.tsbuildinfo
vite.config.ts.*

# Misc
*.tar.gz
.cache
.temp
.txt
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0] - 2024-12-01

### Added
- Initial release of the portfolio website
- React frontend with TypeScript
- Express backend
- PostgreSQL database with Drizzle ORM
- Admin dashboard with content management
- Blog system with rich text editor
- Project portfolio with GitHub integration
- Skills management system
- Contact form functionality
- Analytics dashboard
- Authentication system
- Responsive design with Shadcn components
- Documentation for setup and deployment

### Security
- Secure admin authentication
- Environment variables configuration
- API route protection

## [1.0.1] - 2024-12-01

### Added
- Comprehensive setup guide
- Detailed deployment documentation
- Enhanced admin guide
- Improved TypeScript support
- Better error handling in Projects management

## [Unreleased]

### Added
- Comprehensive development guide with best practices
- Enhanced setup guide with troubleshooting steps
- Improved documentation structure
- Detailed project architecture documentation

### Planned
- Enhanced analytics features
- Multi-user support
- Additional theme options
- Image optimization
- SEO improvements
Loading

0 comments on commit 1ef3aa2

Please sign in to comment.