A web application for a pharmacy (droguería) in San Miguel de Tucumán, Argentina. This project was developed for client Jose Antonio Muratore but was never fully deployed or utilized due to a company merger that occurred before completion.
This project was commissioned to create a modern web presence for Drogueria Aries, a local pharmacy business. The application was designed to showcase products, manage inventory, and provide information about the pharmacy's location and hours.
However, during development, the company underwent a merger, which resulted in the project no longer being needed. As a result, the application was never fully completed or deployed to production. The codebase remains as a reference implementation and demonstration of the work completed.
The application is in a partially complete state:
- ✅ Frontend UI/UX design completed
- ✅ Firebase integration setup (authentication, Firestore, storage)
- ✅ Product management interface (add/delete products)
- ✅ Responsive design with Bootstrap 5
⚠️ Products section has placeholder UI (skeleton loaders) - database connection was never fully configured⚠️ Not deployed to production
- Frontend Framework: Vanilla JavaScript (ES6 modules)
- Build Tool: Webpack 5
- CSS Framework: Bootstrap 5.0.0-beta1
- CSS Preprocessor: Sass/SCSS
- Backend/Database: Firebase
- Firebase Authentication (Google Sign-In)
- Cloud Firestore (database)
- Firebase Storage (image uploads)
- Deployment: Firebase Hosting (configured but not deployed)
Drogueria-Aries/
├── src/ # Source files
│ ├── assets/ # Images and SVG icons
│ ├── js/ # JavaScript modules
│ │ ├── index.js # Main application logic
│ │ └── views/ # View controllers
│ ├── sass/ # SCSS stylesheets
│ ├── template.html # Main page template
│ └── prodtemplate.html # Products page template
├── dist/ # Built/compiled files
├── firebase.json # Firebase configuration
└── webpack.*.js # Webpack build configurations
- Home Page: Hero section with call-to-action
- Products Section: Display of discounted products (with skeleton loading placeholders)
- Products List Page: Full product listing with management interface
- Admin Panel:
- Add new products (with image upload)
- Delete products
- Toggle discount status
- Authentication: Google Sign-In integration
- Contact Information: Map integration, hours, phone, email
- Responsive Design: Mobile-friendly layout
- Database connection for products (currently shows skeleton placeholders)
- Production deployment
- Role-based access control (planned but not implemented)
- Product pagination
- Additional admin features
- Node.js (v14 or higher)
- npm or yarn
- Firebase account (if you want to use the database features)
- Clone the repository:
git clone <repository-url>
cd Drogueria-Aries- Install dependencies:
npm installNote: The project uses node-sass which may have compatibility issues with newer Node.js versions. If installation fails, you may need to use an older Node.js version or migrate to sass (Dart Sass).
Start the development server:
npm startThe application will be available at http://localhost:8080 (or the port specified in webpack.dev.js).
Important: This project uses older package versions that may have compatibility issues with Node.js 17+.
Option 1: Use Node.js 16 or earlier (Recommended)
# If you have nvm installed:
nvm use 16
npm run buildOption 2: Use Node.js 18+ with legacy OpenSSL (Workaround)
NODE_OPTIONS=--openssl-legacy-provider npm run buildNote: You may still encounter build errors with postcss-loader. If so, you may need to:
- Use Node.js 16 or earlier, or
- Manually copy the updated HTML files to the
dist/folder if you only changed HTML/CSS
The compiled files will be in the dist/ directory.
To deploy the application with your changes to Firebase Hosting:
- Build the project (this compiles all changes including skeleton placeholders):
npm run build- Make sure you're logged into Firebase CLI:
firebase login- Verify your Firebase project (if not already set):
firebase use <your-project-id>- Deploy to Firebase Hosting:
npm run deployOr directly:
firebase deploy --only hostingBefore deploying, ensure:
- ✅ All changes are built (
npm run buildcompleted successfully) - ✅ Firebase project is configured correctly
- ✅ Firebase config in HTML files matches your project
- ✅ You're logged into Firebase CLI
- ✅ The
dist/folder contains the latest build
The deployment process:
- Builds all source files (HTML, JS, CSS, assets)
- Optimizes and minifies code
- Uploads the
dist/folder to Firebase Hosting - Makes the site available at your Firebase Hosting URL
Note: The skeleton placeholders will be visible on the deployed site until the database connection is properly configured.
The project includes Firebase configuration, but you'll need to:
- Set up your own Firebase project
- Update the Firebase config in
src/template.htmlandsrc/prodtemplate.html - Configure Firestore rules and indexes
- Set up Firebase Storage for image uploads
- Products section displays skeleton placeholders instead of actual products (database connection incomplete)
node-sassmay not compile on newer Node.js versions- Some features are incomplete or not fully tested
Felipe Poviña
Developed for client Jose Antonio Muratore
ISC
This project serves as a portfolio piece and reference implementation. It demonstrates:
- Modern web development practices
- Firebase integration
- Responsive design
- Product management interfaces
- Authentication flows
The project was discontinued due to business circumstances (company merger) and is maintained for educational and portfolio purposes.