V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
tukon479
V2EX  ›  分享创造

开源了一个现代化照片画廊网站 - Afilmory

  •  1
     
  •   tukon479 ·
    innei · 7 天前 · 4004 次点击

    起因很简单:市面上的相册方案 UI 都不太喜欢,所以自己写了一个。

    最开始就是拿 Cursor 的 vibe 功能出来玩玩,没想到后来有了一些用户。现在代码已经和几个小伙伴一起接管了,重构了挺多东西,代码质量比最初好了不少。

    技术栈比较现代:

    • React 19 + TypeScript + Vite
    • 自研 WebGL 图片渲染引擎,缩放平移体验不错
    • 支持 HEIC/TIFF 自动转换
    • 多进程并发处理,性能还可以
    • 增量同步,避免重复处理

    存储方案灵活:

    • 支持各种 S3 兼容存储
    • 支持 GitHub 作为存储(白嫖党专用)
    • 后续可以轻松扩展其他存储

    一些实用功能:

    • Live Photo 支持
    • 完整 EXIF 信息展示
    • 富士胶片模拟参数识别
    • 响应式瀑布流布局
    • Docker 一键部署

    目前线上跑了几个实例,稳定性还行。如果你也对现有相册方案的 UI 不满意,可以试试这个。

    GitHub: https://github.com/Afilmory/Afilmory Demo: https://afilmory.innei.in

    欢迎围观和贡献代码 🎉

    56 条回复    2025-07-07 06:20:25 +08:00
    sickoo
        1
    sickoo  
       7 天前
    赞,一眼就喜欢了
    Wxh16144
        2
    Wxh16144  
       7 天前
    真不错,已 star
    Maxtune
        3
    Maxtune  
       7 天前
    真棒,已经用上了,太库拉,https://gallery.mxte.cc
    codingBug
        4
    codingBug  
       7 天前
    看起来不错啊!请问数据量很大的情况会卡顿吗?比如几十万张图片?能搜索吗?
    xinyu391
        5
    xinyu391  
       7 天前
    简洁!
    qinfengge
        6
    qinfengge  
       7 天前
    安卓的实况也支持吗
    CSGO
        7
    CSGO  
       7 天前
    非 coder 问下,如果放 github 上,github 空间无限?有无滥用风险?我照片如果有几十万张的话,现在放 google photo 上,压力大。
    DIYgods
        8
    DIYgods  
       7 天前
    好好好,star 了
    Desdemor
        9
    Desdemor  
       6 天前
    可以啊 已 star
    nandie
        10
    nandie  
       6 天前
    已 star
    yikuxia
        11
    yikuxia  
       6 天前
    good 已 star
    wwyf
        12
    wwyf  
       6 天前
    看起来非常不错
    tukon479
        13
    tukon479  
    OP
       6 天前
    @CSGO 建议还是放 S3 上
    tukon479
        14
    tukon479  
    OP
       6 天前
    @qinfengge 同名文件上传 +.mov 就行
    tukon479
        15
    tukon479  
    OP
       6 天前
    @codingBug 后面计划会做大数据的优化
    charexcalibur
        16
    charexcalibur  
       6 天前
    手动点赞👍
    littlejackyxu
        17
    littlejackyxu  
       6 天前
    好漂亮啊 必须 star!
    yiroonli
        18
    yiroonli  
       6 天前
    很好,已 star
    waterhydroxyl
        19
    waterhydroxyl  
       6 天前
    能否和 Google photo 关联起来,展示谷歌相册备份好的影集
    johnnyyeen
        20
    johnnyyeen  
       6 天前
    大图阅览模式下切换相片的动画有点卡
    Psily1017
        21
    Psily1017  
       6 天前
    已 star ,这个是真喜欢。
    tukon479
        22
    tukon479  
    OP
       6 天前
    @johnnyyeen 这是 swiper 控制的,感觉得用 webgl 实现?
    chengxy
        23
    chengxy  
       6 天前
    好好好
    johnnyyeen
        24
    johnnyyeen  
       6 天前
    @tukon479 感觉是加载图像卡 UI 线程了。
    zhw2590582
        25
    zhw2590582  
       6 天前
    太酷啦
    superchijinpeng
        26
    superchijinpeng  
       6 天前
    真不错
    ssshooter
        27
    ssshooter  
       6 天前
    咦,点进去发现居然已经 star 过了 🤔
    jacketma
        28
    jacketma  
       6 天前
    要是没有免费 CDN 加持,流量跑起来费用不低的
    DrLty
        29
    DrLty  
       6 天前
    好康,喜欢,star 了,希望能越做越好
    Panameragt
        30
    Panameragt  
       6 天前
    tukon479
        31
    tukon479  
    OP
       5 天前
    @Panameragt 参考了一下 vercel 的 hh
    Quaan
        32
    Quaan  
       5 天前
    好惨,我不会 build ,哭惹
    tukon479
        33
    tukon479  
    OP
       5 天前
    @Quaan 啊? 可以发 issue
    ChrisV5
        34
    ChrisV5  
       4 天前
    支持 nas 吗
    xmsumi
        35
    xmsumi  
       4 天前
    手动发文支持一个
    xmsumi
        36
    xmsumi  
       4 天前
    tukon479
        37
    tukon479  
    OP
       4 天前
    @ChrisV5 支持 S3 协议
    tukon479
        38
    tukon479  
    OP
       4 天前
    @johnnyyeen image decode 放到 worker 里面 试过了不卡了
    vyron
        39
    vyron  
       3 天前
    很漂亮,建议支持输入密码后访问,作为个人或家庭私密相册
    dabingbing
        40
    dabingbing  
       3 天前
    请问瀑布流用的哪个组件呀
    shmilypeter
        41
    shmilypeter  
       2 天前
    已 star ,居然在 demo 里看到南邮的图书馆了
    coolfan
        42
    coolfan  
       2 天前
    小而美!原图比例的照片墙一眼惊艳
    Philippa
        43
    Philippa  
       2 天前
    starred ,2 个点:

    1. 图片预览后关闭回到照片墙会卡在灰背景 0.4s 左右
    2. 支持本地网络和磁盘照片加载
    WhatWhatWhat
        44
    WhatWhatWhat  
       2 天前
    太棒了,一眼喜欢
    wuyadaxian
        45
    wuyadaxian  
       1 天前
    太棒了喜欢
    cue
        46
    cue  
       1 天前 via iPhone
    挺棒的,比国外那些酷多了
    RoccoShi
        47
    RoccoShi  
       1 天前 via iPhone
    不错哦
    stigo
        48
    stigo  
       1 天前
    漂亮,已 star
    cjh1095358798
        49
    cjh1095358798  
       23 小时 40 分钟前
    厉害佬
    Qiane
        50
    Qiane  
       23 小时 20 分钟前
    考虑加入端到端加密吗?
    Xc1Ym
        51
    Xc1Ym  
       22 小时 31 分钟前
    好看,马上就用
    awendujitang
        52
    awendujitang  
       21 小时 33 分钟前 via Android
    漂亮😍
    wali77
        53
    wali77  
       18 小时 34 分钟前
    很酷,我也准备试试
    civetcat
        54
    civetcat  
       18 小时 29 分钟前
    (✧∀✧)好看
    qujiqujl
        55
    qujiqujl  
       9 小时 46 分钟前 via iPhone
    这个确实不错,能不能拉个群?社群搞起来
    himself65
        56
    himself65  
       3 小时 31 分钟前
    既然题主提到了 react 19 (带版本号),想请问用到了 19 哪些功能
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5909 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 01:52 · PVG 09:52 · LAX 18:52 · JFK 21:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.