- Automatic tracking of commits, pushes, releases, and pull requests
- Repository-based customizable notification settings
- Real-time updates with webhook support
- Branch protection rules integration
- Automated release notes generation
- Automatic sharing on Twitter/X platform
- LinkedIn company and personal profile integration
- Mastodon integration
- Discord webhook support
- Customizable posting schedules
- Rich text editor with Markdown support
- Dynamic content creation with variable support
- Multi-language support
- Emoji and hashtag customization
- Custom branding options
- Secure authentication with OAuth2.0
- Role-based access control (RBAC)
- API token management
- Comprehensive audit logging
- Data encryption at rest
- Framework: Next.js 14 with App Router
- UI Library: React 18
- Styling: TailwindCSS
- Components: TailwindCSS/ui
- State Management: React Query & Zustand
- Forms: React Hook Form & Zod
- Runtime: Node.js
- API: tRPC & REST
- Edge Functions: Vercel Edge Runtime
- WebSocket: Socket.io for real-time features
- Database: Supabase (PostgreSQL)
- Authentication: Supabase Auth
- Deployment: Vercel
- CDN: Vercel Edge Network
- Analytics: PostHog & Axiom
- Node.js 16.x or higher
- pnpm/npm/yarn
- Supabase account
- Social media API keys
- GitHub OAuth App credentials
- Clone the repository:
git clone https://github.com/oguzhan18/DevAnnounce
cd devannounce
- Install dependencies:
npm install
- Set up environment variables:
cp .env.example .env.local
- Initialize database:
npm run db:push
- Start development server:
npm run dev
# Application
NEXT_PUBLIC_APP_URL=http://localhost:3000
NODE_ENV=development
# Supabase
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# Social Media APIs
TWITTER_API_KEY=your_twitter_api_key
TWITTER_API_SECRET=your_twitter_api_secret
LINKEDIN_CLIENT_ID=your_linkedin_client_id
LINKEDIN_CLIENT_SECRET=your_linkedin_client_secret
# Analytics
NEXT_PUBLIC_POSTHOG_KEY=your_posthog_key
NEXT_PUBLIC_AXIOM_TOKEN=your_axiom_token
The database schema is located in schema.sql
. Main tables include:
users
- User profiles and settingsgithub_tokens
- GitHub authentication credentialsrepositories
- Tracked repositories and configurationsannouncement_configs
- Announcement templates and rulesannouncements
- Historical announcement recordssocial_accounts
- Connected social media accountsaudit_logs
- System activity logs
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Write tests for new features
- Update documentation as needed
- Follow the established code style
- Ensure all tests pass before submitting PR
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub Actions integration
- Advanced analytics dashboard
- Multi-language support
- Mastodon federation support
- Team collaboration features
- Custom webhook integrations
- AI-powered content suggestions
- Advanced scheduling features
- API marketplace
- Website: https://devannounce.com