Sort Smart. Live Green.
Sortify is a web app that helps people recycle responsibly: sort waste correctly, earn points, and see your impact. It is aimed at anyone from beginners to people who already take recycling seriously.
- Waste sorting guidance ? Describe or upload waste; get guidance for plastic, paper, glass, metal, or organic streams.
- Rewards ? Earn points for recycling and redeem them for eco-friendly perks (as configured in your deployment).
- Dashboard ? Track habits, diverted waste, and environmental impact.
- Authentication ? JWT-based sign-up and sign-in with role-based access (user and admin).
- Admin tools ? Manage pickups, view activity, and use map views where integrated.
- Profile ? Update name, email, phone, and address.
| Area | Technology |
|---|---|
| Runtime | Node.js |
| Server | Express.js 5 |
| Views | EJS |
| Styling | Tailwind CSS, Alpine.js, AOS |
| Database | MySQL (mysql2, Sequelize) |
| Auth | JSON Web Tokens |
| HTTP | Axios |
| Uploads | Multer |
| Storage (optional) | AWS S3 (SDK) |
- Node.js 18+ recommended
- MySQL (local or remote)
- A session/auth service on port
8080if your setup expects it (seesrc/js/app.js)
-
Clone and install
git clone https://github.com/your-username/Sortify.git cd Sortify npm install -
Environment
Create a
.envfile in the project root, for example:PORT=3000 JWT_SECRET=your_jwt_secret_here
Add any other variables your
app.jsand services require (database URL, AWS keys if you use S3, etc.). -
Database
Create the MySQL database your app uses (e.g.
cloudtubes) and align credentials withsrc/js/app.js. -
Run
npm start
Default app URL: http://localhost:3000 (or the
PORTyou set).
Sortify/
??? public/
? ??? css/
? ??? img/
??? images/ # Screenshots / readme assets
??? src/
? ??? js/
? ? ??? app.js # Express app & routes
? ? ??? index.js # Client-side JS
? ? ??? script.js
? ? ??? components/
? ??? views/ # EJS pages (landing, auth, dashboards, profile)
??? .env # Local secrets (not committed)
??? package.json
??? tailwind.config.js
??? README.md
This project is licensed under the ISC License.
.png)
.png)
.png)
.png)
.png)