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 .envFill 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 servenpm run buildweb-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_IDFIREBASE_PRIVATE_KEYFIREBASE_CLIENT_EMAILNODE_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,choreScope: 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