A Cross-Platform Inventory & Point of Sale System
Strackly is a cross-platform, modern inventory management and point of sale (POS) solution for businesses. Featuring real-time barcode scanning, push notifications, robust reporting, and role-based access, it enables efficient operations for both small and medium enterprises. Powered by a unified MERN backend and React Native/React web frontends, Strackly delivers seamless and consistent experiences across mobile and web.
- π¦ Inventory Management β Add, update, delete products; track live stock levels
- π³ Point of Sale (POS) β Intuitive checkout, sales history, revenue analysis
- π² Barcode Scanning β Instant lookup using any mobile camera
- π Push Notifications β Stock alerts and order status updates in real time
- π₯ Role-Based Access β Admin, Cashier, Staff level controls
- π Secure Authentication β JWT and bcrypt-secured sessions
- π Unified Platform β Both mobile and web use the same backend API
| Section | Tech | Purpose |
|---|---|---|
| Mobile | React Native (Expo), Nativewind | iOS/Android app, Tailwind-style UI |
| Web | React, Vite, TailwindCSS | Web dashboard, admin features |
| Backend | Node.js, Express.js, MongoDB | REST API, business logic, cloud database |
| Other | Firebase (Notifications), Multer | Push alerts, file uploads (e.g. images) |
| Auth | JWT, bcrypt | Secure user auth, role management |
- Node.js (v18+)
- Yarn or npm
- MongoDB Atlas account
-
Clone the repository
git clone https://github.com/HappyDevs1/Strackly.git cd Strackly -
Install dependencies
cd server npm install # In another terminal/tab (for client): cd ../client/mobile yarn install cd ../web yarn install -
Setup environment variables
- Copy
.env.exampleinserver/to.envand fill values. - Repeat for mobile/web as needed.
- Copy
-
Start the backend
cd server npm run dev -
Run the mobile app
cd client/mobile yarn start # Then scan the QR code with Expo Go or run on emulator -
Run the web app
cd client/web yarn dev
We welcome contributions!
How to contribute:
- Fork the repo
- Create a feature branch (
git checkout -b feature/your-feature) - Commit and push your work (
git commit -m "feat: β¨ add cool feature") - Open a pull request
Guidelines:
- Use Conventional Commits
- Follow ESLint & Prettier style
- Add tests where possible
- Update documentation for big changes
MIT License β see the LICENSE file.
- Mobile icons: Expo/React Native Community
- Web icons: Lucide/React
- Deployment powered by Netlify and Vercel
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Built with β€οΈ by HappyDevs1
β Star this repository if you found it helpful!