This project involves building a site-wide notification/announcement bar and a deployment maintenance mode. The notification bar needs markdown support, an expiration date, and RBAC permissions. The maintenance mode should be controllable via environment variables and prevent user access during site updates.
Someone already won this. Here's what they did — and whether you can win the same.
A starter prompt for Claude Code, what you'll need, and how to reach them.
You are an expert full-stack developer. Build the site-wide notification/announcement bar and deployment maintenance mode features as described in the Archestra issue #4463 (https://github.com/archestra-ai/archestra/issues/4463), specifically focusing on the requirements solved in PR #4690 (https://github.com/archestra-ai/archestra/pull/4690). Use Next.js 16 App Router, React 19, Tailwind v4, and Neon Postgres for data storage. **Notification Bar:** 1. **Frontend:** Create a thin, dismissible notification component that appears at the top right of the site, inspired by GitHub's announcement bar. It must support markdown rendering for content and display only one active notification at a time. 2. **Backend/Database:** Design a Postgres table to store notifications with fields for `id`, `content` (markdown string), `expires_at` (timestamp with timezone), `created_by`, and `rbac_roles_allowed` (array of strings, for `read` permission). Implement CRUD operations for notifications. 3. **Admin UI:** Build a simple admin interface for creating and managing notifications, including a markdown editor and a date/time picker for expiration. 4. **RBAC:** Implement server-side logic to check user's RBAC roles against `rbac_roles_allowed` to determine if a notification should be visible. Default to specific roles if not explicitly set. **Maintenance Mode:** 1. **Logic:** Implement a middleware or server-side check that reads an environment variable (e.g., `MAINTENANCE_MODE=true`). 2. **User Experience:** If maintenance mode is active, prevent all non-admin users from accessing the site and display a static 'Maintenance in Progress' page. 3. **Admin Bypass:** Ensure that users with specific admin roles (e.g., defined by an environment variable or RBAC) can still access the site to perform checks. **MVP Slice:** Focus on getting the core notification display with markdown, expiration, and a basic admin CRUD UI for notifications working first. For maintenance mode, implement the environment variable check and a static display page. **Build/Verify Gate:** The notification bar renders markdown correctly, respects expiration dates, and only one is shown. The maintenance mode blocks non-admin users when the env var is set.
WON bounty — solved by @Excellencedev in https://github.com/archestra-ai/archestra/pull/4690. Study the PR, then find the same pattern as an OPEN bounty. Two related features. **Site notification/announcements bar** As an admin of my deployment, I'd like to display a thin site-wide notification announcement at the top of the site (just the "right-hand side", not above sidebar) (see GitHub announcements for inspiration). Should be able to define the notification in a markdown like editor (for example like here on GitHub), such that I can include links. I should be able to specify an expiration date/time for the notification (only unexpired notifications should be shown). Should only be able to display one notification at a time. Should introduce new RBAC CRUD permissions for this type (ex. user's who dont have the read permission don't see notification) + grant reasonable defaults to pre-defined RBAC roles. **Deployment maintenance mode** I'd like a way to put my deployment into "maintenance mode". This can be useful where I want to prevent users from temporarily accessing the site (ex. for database maintenance/upgrade). This likely needs to be configured through env variables in my
Standard Lumivara stack for web applications.
Standard relational database for Lumivara projects.
Standard deployment platform for Next.js applications.
Familiar library for rendering markdown in React.
Need to understand how to integrate with an existing application's RBAC, or design a basic one for a demo – ~half day.
Learn it: Auth quickstart (Clerk) ↗
Get set up: Create an auth app (Clerk/Auth0) → copy the publishable + secret keys → add the middleware.
Comment on the GitHub issue #4463 (or find a similar open bounty on a platform like Gitcoin or Bountysource), then open a draft PR against the target repository with a working prototype.
“I've built a working prototype of a robust notification bar with markdown, expiration, and RBAC, plus a flexible maintenance mode using Next.js and Postgres. Here's a link to the demo and code – I can adapt this to your project's specific needs efficiently.”
Open the original ↗