Skip to content

nainxav/Sortify

Repository files navigation

Sortify

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.

Features

  • 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.

Tech stack

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)

Prerequisites

  • Node.js 18+ recommended
  • MySQL (local or remote)
  • A session/auth service on port 8080 if your setup expects it (see src/js/app.js)

Getting started

  1. Clone and install

    git clone https://github.com/your-username/Sortify.git
    cd Sortify
    npm install
  2. Environment

    Create a .env file in the project root, for example:

    PORT=3000
    JWT_SECRET=your_jwt_secret_here

    Add any other variables your app.js and services require (database URL, AWS keys if you use S3, etc.).

  3. Database

    Create the MySQL database your app uses (e.g. cloudtubes) and align credentials with src/js/app.js.

  4. Run

    npm start

    Default app URL: http://localhost:3000 (or the PORT you set).

Project layout

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

Screenshots

Screenshot 1

Screenshot 2

Screenshot 3

Screenshot 4

Screenshot 5

License

This project is licensed under the ISC License.

About

Sortify is a smart, eco-conscious web platform that encourages users to recycle responsibly by rewarding them with points for every piece of trash they sort and dispose of properly.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors