The official backend service for Garuda Hacks 6.0, providing robust and scalable APIs for the hackathon platform. Built with Firebase Cloud Functions and TypeScript to ensure reliability and maintainability.
-
Backend
- Firebase Cloud Functions
- TypeScript
- Node.js
- Express.js
- Firebase Admin SDK
-
Database
- Firebase Firestore
-
Authentication
- Firebase Authentication
-
Deployment
- Firebase Hosting
- Firebase Cloud Functions
- Node.js (v20 or higher)
- npm or yarn
- Firebase CLI (
npm install -g firebase-tools
) - Firebase account
- Clone the repository
git clone https://github.com/your-username/web-be.git
cd web-be
- Install dependencies
npm install
- Set up environment variables
cp .env.example .env
Fill in your Firebase configuration in .env
:
# Firebase Configuration
FIREBASE_PROJECT_ID=your-project-id
FIREBASE_PRIVATE_KEY=your-private-key
FIREBASE_CLIENT_EMAIL=your-client-email
# Other Configuration
NODE_ENV=development
- Start development server
npm run serve
npm run build
web-be/
├── src/
│ ├── functions/ # Cloud Functions
│ │ ├── auth/ # Authentication related functions
│ │ ├── users/ # User management functions
│ │ └── utils/ # Utility functions
│ ├── config/ # Configuration files
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Helper functions
├── tests/ # Test files
└── firebase.json # Firebase configuration
Required environment variables:
FIREBASE_PROJECT_ID
FIREBASE_PRIVATE_KEY
FIREBASE_CLIENT_EMAIL
NODE_ENV
-
Fork the repository
-
Create your feature branch (
git checkout -b feat/amazing-feature
) -
Make your changes following our commit conventions:
# Format <type>(<scope>): <description> # Examples feat(auth): add user authentication middleware fix(api): resolve CORS configuration docs(readme): update deployment steps style(code): improve error handling refactor(functions): optimize database queries test(auth): add authentication tests chore(deps): update dependencies
Types:
feat
,fix
,docs
,style
,refactor
,test
,chore
Scope: optional, indicates the module affected -
Push to the branch (
git push origin feat/amazing-feature
) -
Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by the Garuda Hacks Team