To install dependencies:
bun installTo run:
bun install
bun run devadd .env file
sample
env sample
COSMOS_MONGODB_USERNAME
COSMOS_MONGODB_PASSWORD
GITHUB_ID
GITHUB_SECRET
JWT_SECRET
CLIENT_ORIGIN
EMAIL_KEY
ACS_CONNECTION_STRING
VERIFIED_ACS_SENDER_ADDRESS
AZURE_BLOB_CONNECTION_STRING
AZURE_BLOB_CONTAINER_NAME
- Azure CosmosDB for MongoDB - For database
- Azure Communication Services - For Email and Communication
- Azure Storage
- Service Used: Azure Blob Storage
- Purpose: Provides a globally distributed, multi-model database service with low latency and high availability, supporting MongoDB APIs
- Environment Variables:
COSMOS_MONGODB_USERNAMECOSMOS_MONGODB_PASSWORD
- Service Used: Azure Blob Storage
- Purpose: Offers scalable, cost-effective storage for various types of data, used here for storing files, backups, or static content.
- Environment Variables:
AZURE_BLOB_CONNECTION_STRINGAZURE_BLOB_CONTAINER_NAME
- Service Used: Email service (Azure communication services)
- Purpose: Used for sending emails, likely for notifications, user confirmations, or alerts.
- Environment Variables:
EMAIL_KEYACS_CONNECTION_STRINGVERIFIED_ACS_SENDER_ADDRESS
- Service Used: GitHub OAuth
- Purpose: Integrates GitHub's authentication system to allow users to sign in with their GitHub accounts, enhancing user management and security.
- Environment Variables:
GITHUB_IDGITHUB_SECRET
- Service Used: JWT (JSON Web Tokens)
- Purpose: Manages user authentication and session management securely, ensuring that only authenticated users can access certain parts of the application.
- Environment Variables:
JWT_SECRET
This setup ensures that your application not only scales efficiently but also maintains high security and provides a seamless user experience through integrated communication and authentication services. Ensure all environment variables are securely managed, especially those containing sensitive information like passwords and secrets.
This project was created using bun init in bun v1.1.42. Bun is a fast all-in-one JavaScript runtime.