A Truman State University Sustainability App
- About the Project
- Features
- Technologies Used
- Project Structure
- Installation
- Usage
- Contributing
- License
- Team
WasteNot is a web app designed to help Truman State University students reduce food waste, adopt sustainable habits, and stay informed about campus sustainability efforts. By combining gamification, AI, and real-time tracking, WasteNot empowers users to make a tangible impact on the environment.
- Food Waste Tracker: Analyze plate photos to estimate food waste.
- Sustainable Shopping Assistant: Scan receipts to identify eco-friendly alternatives.
- Gamification: Earn streaks and badges for sustainable actions.
- Campus News Hub: Stay updated on Truman's green initiatives.
- Frontend: React, TypeScript, Tailwind CSS, Radix UI components
- Backend: Express.js, Node.js
- Database: PostgreSQL (via Neon Database)
- ORM: Drizzle ORM
- AI Integration: Google Cloud Vision API
- Authentication: Passport.js
- Form Management: React Hook Form with Zod validation
- State Management: React Query
- Routing: Wouter
- Build Tools: Vite, ESBuild
- Development: TypeScript, Drizzle Kit
├── client/ # Frontend React application
│ └── src/ # Source files for the frontend
├── server/ # Express server files
├── shared/ # Shared code between frontend and backend
│ └── schema.ts # Database schema definitions
├── migrations/ # Database migration files
├── .git/ # Git repository
├── .gitignore # Git ignore file
├── drizzle.config.ts # Drizzle ORM configuration
├── postcss.config.js # PostCSS configuration
├── tailwind.config.js # Tailwind CSS configuration
├── tsconfig.json # TypeScript configuration
├── theme.json # UI theme configuration
└── vite.config.js # Vite configuration
-
Clone the repository:
git clone https://github.com/your-username/WasteNot.git -
Navigate to the project directory:
cd WasteNot -
Install the required dependencies:
npm install -
Set up environment variables: Create a
.envfile in the root directory with:DATABASE_URL=your_postgresql_connection_string -
Run database migrations:
npm run db:push
-
Start the development server:
npm run dev -
Open your web browser and navigate to:
http://localhost:5000 -
Use the navigation sidebar to access different features:
- Dashboard: Overview of your sustainability impact
- Food Waste Tracker: Upload food photos to track waste
- News: Campus sustainability updates
- Badges: Achievements for sustainable actions
npm run dev- Start the development servernpm run build- Build the application for productionnpm run start- Start the production servernpm run check- Run TypeScript type checkingnpm run db:push- Push database schema changes
We welcome contributions to WasteNot! To contribute:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add some amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Please make sure to follow our coding standards and include appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.
- [Your Name] - Developer
- [Team Member] - UI/UX Designer
- [Team Member] - Project Manager
- [Team Member] - Content Creator "# -WasteNot"