Tron | The Asylum
Photo
โก๏ธAddisalem Film Academy website is shipped.....
Addisalem is a film school in Dessie, Ethiopia. They needed a proper home online to show their programs, facilities and awards, showcase student and studio work, and take applications. I built the whole thing, and the owner can now run it without me.
๐ https://www.addisalemfilms.com
What's in it
๐นA landing page: hero, programs, facilities, awards, announcements and a contact/application form
๐นA public portfolio page with the studio's full collection
๐นA private admin console for the owner
The admin console
This is the part that makes the site the owner's, not mine. It's one page with four tabs: Announcements, Applications, Portfolio and Awards.
๐นUpload one image or forty, with a real progress bar
๐นReorder by dragging or with arrow buttons
๐นEdit captions in place, saved automatically when you click away
๐นSelect many images to bulk caption, move to top or bottom, or delete
๐นPost announcements and edit their title and type after publishing
๐นSee every application that comes in through the public form
The goal was simple: the owner should never need to message me to change a photo or post news.
SEO
A React single-page app can look empty to search engines, so every route is prerendered at build time. Each page also gets a sitemap entry and its own canonical URL, so Google sees real content.
The idea behind it
No template, no CMS subscription, no storage bill. I wanted a client site that's cheap to run and that the owner can curate alone.
๐นFrontend: React 19, Vite, TypeScript, Tailwind 4
๐นData and auth: Firebase (Firestore + Auth)
๐นImages: Cloudinary, instead of Firebase Storage, to stay on the free tier
๐นApplications: EmailJS notifications, saved to the database first so none get lost
๐นHosting: Vercel
@MrDevEm
Addisalem is a film school in Dessie, Ethiopia. They needed a proper home online to show their programs, facilities and awards, showcase student and studio work, and take applications. I built the whole thing, and the owner can now run it without me.
๐ https://www.addisalemfilms.com
What's in it
๐นA landing page: hero, programs, facilities, awards, announcements and a contact/application form
๐นA public portfolio page with the studio's full collection
๐นA private admin console for the owner
The admin console
This is the part that makes the site the owner's, not mine. It's one page with four tabs: Announcements, Applications, Portfolio and Awards.
๐นUpload one image or forty, with a real progress bar
๐นReorder by dragging or with arrow buttons
๐นEdit captions in place, saved automatically when you click away
๐นSelect many images to bulk caption, move to top or bottom, or delete
๐นPost announcements and edit their title and type after publishing
๐นSee every application that comes in through the public form
The goal was simple: the owner should never need to message me to change a photo or post news.
SEO
A React single-page app can look empty to search engines, so every route is prerendered at build time. Each page also gets a sitemap entry and its own canonical URL, so Google sees real content.
The idea behind it
No template, no CMS subscription, no storage bill. I wanted a client site that's cheap to run and that the owner can curate alone.
๐นFrontend: React 19, Vite, TypeScript, Tailwind 4
๐นData and auth: Firebase (Firestore + Auth)
๐นImages: Cloudinary, instead of Firebase Storage, to stay on the free tier
๐นApplications: EmailJS notifications, saved to the database first so none get lost
๐นHosting: Vercel
Next post: what actually happens behind the scenes when the owner uses the admin console ๐
@MrDevEm
Addisalem Film Academy
Addisalem Film Academy ยท Dessie
Hands-on film training in Dessie, Ethiopia. Photography, videography, directing, cinematography, screenwriting, editing, sound, film production, graphic design and motion design.
๐ฅ3
Tron | The Asylum
โก๏ธAddisalem Film Academy website is shipped..... Addisalem is a film school in Dessie, Ethiopia. They needed a proper home online to show their programs, facilities and awards, showcase student and studio work, and take applications. I built the whole thingโฆ
This is what happens behind the scenes in the admin console ๐:
Admin posts announcement
Student enrolls
Admin uploads an image
Admin deletes one
Go check it out & feel free to ask me anything.
@DevNest_verse
Admin posts announcement
Paste YouTube link โก๏ธ auth check โก๏ธ saved to Firestore โก๏ธ becomes the featured card on the next visitor page load.Student enrolls
Form โก๏ธ saved to Firestore first (never lost) โก๏ธ EmailJS emails the owner in the background โก๏ธ application appears in application tab.Admin uploads an image
Browser โก๏ธ straight to Cloudinary (never touches Firebase) โก๏ธ returns URL โก๏ธ URL saved in Firestore โก๏ธ live on the site.Admin deletes one
Delete token โก๏ธ Cloudinary removes the actual file โก๏ธ Firestore row deleted.Go check it out & feel free to ask me anything.
@DevNest_verse
๐ซก4๐1
Forwarded from Bereki.env | Bek (Bereket K. | แ แจแจแต แชแฎแต)
แฅแแฐแแ แ แจแณแฝ แณแแฝ แฐแแแด
แฅแตแแฐแ แฅแฎ แแ แ แคแต แแตแแแด
แญแบแ แฐแแ แต แฐแแ แ แแฐ แฅแตแฐแแ
แแณแ แแแฐแตแ แแ แญแ แ แตแแแฐแ
แแณแ แแแฐแตแ แแ แญแ แ แตแฐแฐแฐแ
@MrBereketK
@MrBereketK
แฅแตแแฐแ แฅแฎ แแ แ แคแต แแตแแแด
แญแบแ แฐแแ แต แฐแแ แ แแฐ แฅแตแฐแแ
แแณแ แแแฐแตแ แแ แญแ แ แตแแแฐแ
แแณแ แแแฐแตแ แแ แญแ แ แตแฐแฐแฐแ
@MrBereketK
@MrBereketK
โค4
Some of you asked me how to buy a domain name, so I thought I should post about it here.
You can buy a domain name only (without hosting) from yegara.com for 3,300 birr using Telebirr, and use Vercel for hosting.
Then, you can connect the domain name to your project on Vercel using DNS configuration or nameservers. You can only use the nameserver option if the domain name you bought is from Yegara, though. Vercel will handle everything else.
Then, wait for the DNS propagation and boom ๐ฅ Your project has a custom domain.
@DevNest_verse
You can buy a domain name only (without hosting) from yegara.com for 3,300 birr using Telebirr, and use Vercel for hosting.
Then, you can connect the domain name to your project on Vercel using DNS configuration or nameservers. You can only use the nameserver option if the domain name you bought is from Yegara, though. Vercel will handle everything else.
Then, wait for the DNS propagation and boom ๐ฅ Your project has a custom domain.
@DevNest_verse
๐2๐1๐ค1
Birhan Nega
AI แถแแตแแญ แขแแ
แแฎแฝแ แญแฐแซแ แจแแแ แญแแ
แจแแแธแ แแต แแแ แ แณแณแข แญแแตแแแแข แฅแ codex Pro ($100) แฅแ claude max (100$) แ แแ แแ แฅแซแแณแแณแธแ แแถแตแต แแ แขแแ แแแข แซแ แแแจแฅ แแแ แแ แจแแต แ แแญ 200 แถแแญ แแแฃแต แ แแฅแ แแแต แแแข
mtsm enem gemini pro alegn be 1$ ๐ญ๐
๐4
Twinkle twinkle little star โจ
How i wonder what you are
Up above the world so high
Like a diamond in the sky......
#GoodNightMessage
How i wonder what you are
Up above the world so high
Like a diamond in the sky......
#GoodNightMessage
๐2๐ฅ1
Do you know about honeypots?
In cybersecurity, a honeypot is a trap set for cybercriminals. It is a decoy designed to look vulnerable, and when an attacker targets it, they wonโt get anything useful because it is isolated from the real system and contains no real information.
It records every action taken by the intruder in real time.
It is a bait.
And sometimes, I just feel that when I get something too easily, itโs a honeypot.
#CyberSecurity #LateNightThoughts
@MrDevEm
In cybersecurity, a honeypot is a trap set for cybercriminals. It is a decoy designed to look vulnerable, and when an attacker targets it, they wonโt get anything useful because it is isolated from the real system and contains no real information.
It records every action taken by the intruder in real time.
It is a bait.
And sometimes, I just feel that when I get something too easily, itโs a honeypot.
#CyberSecurity #LateNightThoughts
@MrDevEm
๐3๐1
Your page loads in 80 ms in Ethiopia but 600 ms in Australia.
Same backend, same code.
What would you use to fix this?
@MrDevEm
Same backend, same code.
What would you use to fix this?
@MrDevEm
๐ค2