Skip to content
This repository was archived by the owner on Apr 19, 2026. It is now read-only.

About

sea-devops-f2026-devops-exam-project-DevOpsExamProject-1 created by GitHub Classroom

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

106 Commits

Folders and files

Repository files navigation

[The Film Journal]

A simple web-application which gives the user the ability to give raitings to films. These raitings are tracked to give the user a recap of which parts they enjoyed and which they didn't. These statistics can also be shared with other users.

Tech-stack

Frontend

  • Framework: React 19.1.1
  • Language: TypeScript 5.8.3
  • Build Tool: Vite

Backend (.NET 9.0)

  • Framework: ASP.NET Core Web API
  • Language: C#
  • Database: PostgreSQL

Infrastructure & DevOps

  • Reverse Proxy: Nginx
  • Deployment: Fly.io
  • CI/CD: GitHub Actions
  • Load Testing: k6
  • E2E Testing: TestCafe
  • AI Automation: Agentic Workflows (Gemini CLI)

Architecture

Simple three-layer architecture splitting the application into Controllers, Service classes, and Entities. Nginx is used as a reverse proxy to handle API requests and bypass mixed content issues during deployment.

Features

  • Authentication: Secure login and user profile management.
  • Movie CRUD: Full Create, Read, Update, and Delete functionality for movies.
  • Rating System: Ability for users to rate films and track their preferences.
  • Statistics: Recap and statistics of user ratings (sharable with others).
  • Watchlist & Seen: Separate your collection into movies you want to watch and movies you've already seen.
  • Friends System: Add friends to see their collections and ratings, and copy movies to your own watchlist.
  • Search & Filter: Advanced sorting and filtering by title, rating, and genres for both personal and friend collections.
  • Genres: Assign genres to movies for better categorization.

CI/CD & Automation

This project utilizes automated workflows to ensure code quality and maintain documentation.

Agentic Workflows

Powered by Gemini CLI, the following automated processes run daily:

  • Daily Documentation Updater: Scans recent changes and automatically updates the project documentation.
  • Daily Repo Status: Generates a daily summary of repository activity, including PRs, issues, and code changes, posted as a GitHub issue.
  • Code Simplifier: Analyzes recently modified code and creates pull requests with simplifications that improve clarity and maintainability.

Prerequisites for Automation

To run the Agentic Workflows, the following GitHub Secret is required:

  • GEMINI_API_KEY: API key for Google Gemini, used by the Gemini CLI to power the agents.

Testing

  • Unit & Integration Tests: Automated tests for both Frontend and Backend.
  • End-to-End (E2E) Testing: TestCafe is used to simulate user interactions and verify core application flows.
  • Load Testing: k6 is used to verify system performance under load.

Feature plan

Note

For each week below write a short description of the features you plan to build for your project this week.

We're doing Feature planning 3 weeks at a time, to track project progression. [...]

Week 5

Kick-off week - no features to be planned here DONE!

Week 6

Feature 1: Movie CRUD implementation DONE!

Feature 2: Early database connection DONE!

Week 7

Winter vacation - nothing planned. DONE!

Week 8

Feature 1: Login page, User profile Implementation.
DONE!

Feature 2: Frontend showcasing movie implementation. DONE!

Week 9

Feature 1: Frontend Movie CRUD implementation. DONE!

Feature 2: Rating system implementation (both frontend and backend) DONE!

Week 10

Feature 1: Seperate the movies into Watchlist and Seen. DONE!

Feature 2: Adding friends early implementation DONE!

Week 11

Feature 1: Complete friends implementation DONE!

Feature 2: Seeing friends' ratings. DONE!

Week 12

Feature 1: Implementing genres DONE!

Feature 2: Sorting System for showcasing movies. DONE!

Week 13

Feature 1: Adding comments to ratings DONE!

Feature 2: Reusing movies, instead of creating new ones every time. DONE!

Week 14

Easter vacation - nothing planned. DONE!

Week 15

Feature 1: Simple User Creation Implementation

Feature 2: Login Screen overhaul

Week 16

Feature 1: IMDB Api implementation

Feature 2: Gmail API for 2FA account creation

About

sea-devops-f2026-devops-exam-project-DevOpsExamProject-1 created by GitHub Classroom

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages