A premium, modern web application for managing your favorite fruits. Built with Node.js, Express, PostgreSQL, and a stunning Glassmorphism UI.
- User Authentication: Secure Registration & Login system using JSON Web Tokens (JWT).
- Fruit Management: Full CRUD operations to add, view, and delete your customized fruits.
- Premium UI: A sleek, translucent glassmorphism design with floating background animations and vibrant colors.
- Responsive: Adapts gracefully to all screen sizes.
- Dockerized: Seamless setup and deployment using Docker Compose.
- Backend: Node.js, Express.js
- Database: PostgreSQL
- ORM: Sequelize
- Frontend: Vanilla HTML5, CSS3, JavaScript
- Infrastructure: Docker, Docker Compose
- Docker and Docker Compose installed on your local machine.
-
Clone this repository:
git clone https://github.com/YOUR_USERNAME/fruit-web.git cd fruit-web -
Start the application and database containers:
docker-compose up -d --build
-
Open your web browser and navigate to:
http://localhost:3000
(Note: On the first run, the Node.js server has built-in retry logic to wait for the PostgreSQL database cluster to initialize completely).
fruit-web/
βββ public/ # Frontend static files (HTML, CSS, JS)
β βββ index.html # Main application interface
β βββ style.css # Premium UI styles & animations
β βββ app.js # Frontend logic & API calls
βββ Dockerfile # Docker configuration for the Node.js image
βββ docker-compose.yml # Multi-container orchestration (App + Database)
βββ package.json # Node.js dependencies and scripts
βββ server.js # Node.js Express server, API routes, and Sequelize Models
- Passwords are cryptographically hashed using
bcryptjsbefore being stored in the database. - Session management is handled via secure
jsonwebtoken(JWT), protected against direct manipulation.