Welcome to the Azure Resume Project! This project showcases a personal resume webpage integrated with modern cloud technologies, designed to be hosted on Microsoft Azure. It features both a responsive frontend and a serverless backend, leveraging continuous integration and deployment with GitHub Actions.
- Responsive Design: Adaptable to different screen sizes for optimal user experience.
- Interactive Elements: Hover effects, smooth scrolling, and animations for a modern touch.
- Visitor Counter: Tracks the number of visits to the resume page in real-time.
- Serverless Architecture: Utilizes Azure Functions for efficient and scalable backend operations.
- Database Integration: Connects to Azure CosmosDB to store and manage the visitor counter.
- GitHub Actions: Automates the deployment of both the frontend and backend to Azure.
- Streamlined Updates: Push changes to GitHub to trigger automatic deployment.
- Scalable Infrastructure: Leverages Azure services for a reliable and scalable deployment.
- Global Availability: Hosted on Azure, ensuring fast and consistent access worldwide.
- Cost-Effective: Pay-as-you-go pricing model for efficient resource usage.
- HTML5: Semantic and accessible markup.
- CSS3: Styling and layout with responsive design principles.
- JavaScript: Interactive features and API integrations.
- Azure Functions: Serverless compute platform for executing backend logic.
- CosmosDB: NoSQL database for storing visitor counter data.
- C#: Backend programming language for Azure Functions.
- GitHub Actions: CI/CD workflows for seamless deployment.
- Azure Blob Storage: Hosts the static frontend files.
azure-resume/
├── frontend/ # HTML, CSS, and JavaScript files for the resume webpage
├── backend/ # Azure Function code for the visitor counter
├── .github/workflows/ # GitHub Actions workflows for CI/CD
├── azure-resume.sln # Solution file for the project
├── LICENSE # License for the project
├── README.md # Primary project documentation
- Static Hosting: The resume webpage is hosted on Azure Blob Storage.
- Visitor Counter: JavaScript makes API calls to the backend to fetch and update the visitor count.
- Azure Function: HTTP-triggered function reads and increments the visitor counter.
- CosmosDB: Stores the visitor count in a container.
- Frontend Deployment: Pushes updates to Azure Blob Storage.
- Backend Deployment: Deploys Azure Functions using GitHub Actions.
- Test responsiveness and interactivity in various browsers.
- Unit tests using xUnit to validate:
- Counter increment logic
- HTTP response correctness
- CosmosDB interactions
- Verify successful deployments through GitHub Actions logs.
This project is just the beginning! Expand its capabilities by:
- Advanced Frontend Features: Introduce new animations, interactive components, or dynamic content.
- Extended Azure Integrations: Experiment with other Azure services like Cognitive Services or Azure Functions for advanced functionality.
- New Skills: Of Course.
This project is licensed under the MIT License.