Snapify
Screen recording sharing for absolutely everyone.
Install / Use
/learn @MarconLP/SnapifyREADME
Snapify allows you to record and share recordings asynchronously
- Make unlimited recordings of your tab, desktop, and any application
- Share recordings with anyone using a public link
- Delete or un-list recordings after a specific timeframe
- Upload and share existing videos
Development
Setup
-
Clone the repo into a public GitHub repository (or fork https://github.com/MarconLP/snapify/fork). If you plan to distribute the code, make sure to comply with our
LICENSE.md.git clone https://github.com/MarconLP/snapify.git -
Go to the project folder
cd snapify -
Install packages with npm
npm i -
Set up your .env file
-
Duplicate
.env.exampleto.env -
Use
openssl rand -base64 32to generate a key and add it underNEXTAUTH_SECRETin the .env file. -
<details>
<summary>Fill in the other variables</summary>
<details>
<summary>Configure DATABASE_URL</summary>
- Open Railway and click "Start a New Project", and select Provision "MySQL".
- Select the MySQL App and copy the
DATABASE_URLinto the.env.
- Open Github Developer Settings.
- Next, go to OAuth Apps from the side panel. Then click the "New OAuth App" button. Make sure to set
Authorization callback URLto<Snapify URL>/api/auth/callback/githubreplacing Snapify URL with the URI at which your application runs. - Copy the
Client IDasGITHUB_IDinto the.env. - Next, click "Generate a new client secret" and copy the
Client secretasGITHUB_SECRETinto the.env.
- Open B2 Cloud Storage Buckets.
- Create a new Bucket, make sure to set the bucket to private to make sure files are not being made publicly available.
- Copy the
EndpointasAWS_ENDPOINTand the Bucket name asAWS_BUCKET_NAMEinto the.env. Additionally you need to add theAWS_REGION, which is part of the endpoint and should look like this:us-east-005. - Next, go to Application Keys from the side panel. Then create a new Application Key, with full read and write access to the bucket.
- Copy the
keyIDasAWS_KEY_IDand theapplicationKeyasAWS_SECRET_ACCESS_KEYinto the.env.
-
-
Set up the database using the Prisma schema
npx prisma db push -
Run (in development mode)
npm run dev
E2E-Testing
Be sure to set the environment variable NEXTAUTH_URL to the correct value. If you are running locally, as the documentation within .env.example mentions, the value should be http://localhost:3000.
# In a terminal just run:
npm run test:e2e
Deployment
Vercel
Contributing
Please see our contributing guide at CONTRIBUTING.md
License
Distributed under the AGPLv3 License. See LICENSE.md for more information.
Related Skills
node-connect
341.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.6kCommit, push, and open a PR
