For this project, the team will be building a CI/CD pipeline primarily in the Google Cloud Platform.
This project will involve each team building a simple blog application (supports authentication, commenting, posting new blogs), and running that blog platform through an automated testing at https://zenithblog.ca and deployment process. The blog project itself should be containerized (i.e. run in Docker). The goal is for teams to get exposure to continuous improvement (CI) and continuous deployment (CD) processes in modern software teams. The blog solution is to help showcase the core CI/CD and integration aspects of your solution. Given the purpose and the simplicity of the blog solution, teams are not allowed to use prebuild public blog libraries solutions for the development of the blog.
The team members for the project are: Muhammad Saad Shahid | Param Tully | Ruchir Malik | Shawn Zhu | Andrew Liu | Anusha Saleem | Cheryl Yu | Eric Wong | Anthony Baek
The Documents Folder in our repo contains all our documents for this project(TOR, Test Plan, Requirements etc) including the Installation and User Guides
- ✅The blog platform should support the ability for readers and contributors to login. The account login creation should be a simple form for any users and once a user creates a post, that user will be classified as a contributor.
- ✅ Allow contributors (only) to create new blog posts
- ✅ Allow readers and contributors to comment on blog posts
- ✅ Allow contributors to delete blog posts
- ✅ Have unit tests with 80% code coverage, minimum
- ✅ The development team will be able to check in code to their branch on their revision control system and have their unit tests automatically run. The teams should build a simple web UI to show the various stages of the CI/CD progression of checked in code.
- ✅ The results of these tests should be made available to the software development team in a common Slack channel.
- ✅ There should be three environments to deploy to: dev, qa, and prod
- ✅ Pushes to non-feature branches (dev, qa, prod) will deploy the solution to the appropriate environment.
cd blog
./mvnw spring-boot:run
cd frontend
npm start
cd frontend
npx cypress open
Both e2e and component tests are included