StickerCreate is a team-built web app for creating custom stickers and GIFs from uploaded images and videos.
Users can crop, resize, and filter images; trim and edit videos; export videos as GIFs; save drafts; publish creations; follow other users; and bookmark feed items privately.
Built by:
- building the image/GIF editor flow, including upload, crop, resize, filters, previews, and export behavior
- adding GIF tools such as trim controls, resize presets, playback speed options, and text overlays
- improving media handling across the frontend and backend, including upload validation, conversion routes, and error states
- contributing to user features, UI cleanup, tests, CI/lint workflows, and documentation
- frontend: React, Vite, HTML, CSS, JavaScript
- backend: Express, Node.js
- database: MongoDB, GridFS
- auth: JWT
- testing: Vitest, backend test suite
- deployment: Docker Compose, GitHub Actions
- image upload, crop, resize, filter, and export
- video upload, trim, resize, filter, and GIF export
- user accounts and authentication
- saved drafts
- publishable feed
- follow system
- private bookmarks on feed items
- local full-stack setup with Docker Compose
- CI workflow for build and tests
Production URL: https://67.205.189.121.nip.io/
Note: this deployment may not remain active long-term.
- Node.js
- npm
- MongoDB
- JWT secret
cd back-end
npm install
cp .env.example .env
npm run devSet the required environment variables in back-end/.env:
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secretcd front-end
npm install
npm run devOpen:
http://localhost:5173From the repo root:
cp .env.deploy.example .env
docker compose up --buildOpen:
http://localhost:8080| Area | Command |
|---|---|
| Back-end tests | cd back-end && npm test |
| Back-end coverage | cd back-end && npm run coverage |
| Front-end tests | cd front-end && npm test -- --run |
- never commit
.envfiles - keep
MONGODB_URIandJWT_SECRETprivate - use
.env.examplefiles for placeholder values only