Ares HR
Leo Club Tunis Ares Management
August 2026 – September 2026 · Volunteer · Leo Club Tunis Ares

Complete HR application to run the club: members, events, attendance, points system, votes, anonymous ballots and recruitment, with automated emails and notifications.
By the numbers
0
automated tests
0
PostgreSQL tables
0
roles with access control
Case study
The challenge
The club tracked attendance, points, votes and recruitment in scattered spreadsheets and messages: hand-made calculations, a disputed ranking and no reliable history. It needed a single tool for the membership lead, the board and the members.
Architecture
Clients
- Member, board and lead spaces
- Club website (applications)
Next.js App Router
- Auth.js + role control
- Server Actions
- Points engine
- Public routes
Data
- PostgreSQL
- Prisma (20 tables)
External services
- E-mails (Nodemailer)
- Telegram alerts
- Cloudinary photos
- Excel export
Clients
- Member, board and lead spaces
- Club website (applications)
Next.js App Router
- Auth.js + role control
- Server Actions
- Points engine
- Public routes
Data
- PostgreSQL
- Prisma (20 tables)
External services
- E-mails (Nodemailer)
- Telegram alerts
- Cloudinary photos
- Excel export
Technical choices
01
A single source of truth
The points engine computes everything on the server: attendance, monthly ranking, Excel export and e-mails all read exactly the same data.
02
Truly anonymous ballots
Ballot-box votes store no ballot in the database: the result is reliable without ever linking a vote to a member.
03
Role and position kept apart
App permissions (lead, board, member) are separate from board positions: no duplicated permissions for every position.
04
Guarded against the irreversible
Deletion confirmed by retyping the name, the last lead can never be removed, passwords are generated and hashed.
Key features
- Attendance sheets and points system, with a monthly leaderboard and member of the month
- Availability polls with automatic stand scheduling
- Anonymous ballot-box votes, with no individual ballot stored in the database
- Recruitment: applications received from the club website and interviews scored by three recruiters
- Automated emails (invitations, assignments, reminders, monthly recaps) and Telegram alerts
- One-click WhatsApp contact and schedules ready to share on WhatsApp
- Three roles (membership lead, board, member) with server-side access control
Screenshots (8)

A word about this projectA word about this project
A question, an opinion, an idea?
Write to me right from here. Your message is not published: I am the only one who reads it.
Private: never shown on the site