The official website for Google Developer Group Bandung, built with modern web technologies to showcase our community activities, events, and member resources.
- Framework: React with React Router V7 and Vite
- Database: PostgreSQL with Drizzle ORM
- Authentication: BetterAuth
- Styling: TailwindCSS
- Type Safety: TypeScript
- UI Components: Shadcn UI Components
- Icons: Lucide React Icons
- 🏠 Landing Page
- 📄 Code of Conduct
- 📜 Terms and Conditions
- 🔗 URL Shortener
- Custom short URLs
- QR code generation
- Static redirects configuration
- Expiration date support
- Active/inactive URL management
- Node.js (v18 or higher)
- PostgreSQL
- Bun
- Clone the repository:
git clone https://github.com/gdg-bandung/gdgbandung.com.git- Install dependencies:
bun install- Copy
.env.exampleto.envand configure your environment variables:
cp .env.example .env-
Set up your PostgreSQL database and update the database URL in
.env -
Start the development server:
bun run devThe application will be available at http://localhost:5173
Make sure to configure the following environment variables in your .env file:
- Application Configuration
# Server URL for authentication endpoints
VITE_SERVER_URL="http://localhost:5173/api/auth"
# Domain configuration
VITE_DOMAIN="YOUR DOMAIN" #example mydomain.com/
# Secret key for security
SECRET="YOUR_SECRET"- Management System
# Enable/disable management system
VITE_FLAG_MANAGEMENT_SYSTEM="YOUR VALUE" # true or false- Database Configuration
# PostgreSQL database connection URL
DATABASE_URL="postgresql://user:password@localhost:5432/gdgbandung"
# Optional: PostgreSQL container configuration (for Docker Compose)
POSTGRES_DB="gdgbandung"
POSTGRES_USER="user"
POSTGRES_PASSWORD="password"
POSTGRES_HOST_PORT="5432"
POSTGRES_CONTAINER_PORT="5432"Note: The VITE_ prefix is required for environment variables to be accessible in the frontend code. All other variables are only accessible in the backend.
-
Generate Migration
bun run generate
This command generates a new migration file based on your schema changes.
-
Run Migration
bun run migrate
This command applies the generated migration to your database.
Alternatively, you can use:
bun drizzle push
This command directly pushes the migration to the database.
-
Seed Database
bun run seed
This command populates your database with initial data.
-
Verify Setup
- Ensure your PostgreSQL database is running
- Update the
DATABASE_URLin your.envfile - Confirm the database connection is successful
-
Drizzle Studio
bun run studio
Run Drizzle Studio to visualize and manage your database schema.
-
Type Generation
bun run drizzle
Generate TypeScript types for your database schema.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
The project uses Shadcn UI components for consistent and modern UI elements. Available components include:
- Cards
- Tables
- Buttons
- Inputs
- Selects
- Badges
- Toast notifications
The project uses Lucide React Icons for consistent iconography throughout the application.
This project is licensed under the MIT License - see the LICENSE file for details
For any questions or support, please contact the GDG Bandung team at:
- Email: [email protected]
- GitHub: @gdg-bandung
- Twitter: @GDG_Bandung
Built with ❤️ by the GDG Bandung community