This application wasn't built with the best architecture coding practices. Expect the unexpected if you plan on using it. I mean a lot of unexpected stuff. The
data-populatorfolder contains some dummy data and Node js code that can be modified to populate the database for experimenting with the app.
EDEN is an innovative academic project developed by four students as a comprehensive pet care solution. It aims to be a one-stop platform offering services such as:
- Reporting injured domestic animals to NGOs,
- Pet adoption,
- Veterinarian services,
- Grooming services,
- Online shopping for pet accessories and food.
EDEN - STORE serves as the e-commerce component, allowing pet owners to purchase pet accessories and food conveniently.
EDEN - Store is built using a three-tier architecture:
- Frontend: React for the user interface,
- Backend: Express.js for RESTful APIs and business logic,
- Database: Firebase for authentication and data storage.
- React: Responsive and dynamic frontend development.
- Express.js: RESTful APIs for the core business logic.
- Firebase Auth & JWT: Secure user authentication.
- Cloud Firestore: NoSQL database for user and store data.
- Cloud Storage: For storing product images.
- Algolia: Real-time search functionality.
- Razorpay: Seamless online payment integration.
Firebase is used in this project for Authentication, Database (Cloud Firestore) and Object storage (Cloud storage).
- Create a Firebase account.
- Create a firebase project.
- Add Web APP to the created Firebase project.
- In Project Settings, under Service Accounts, a Generate new private key.
Firestore does not offer full text search. So to implement instant searching using full test search, Algolia was used to store and index searchable data.
- Create an Algolia account.
- Goto Settings, under Team and Access, click API Keys. In the next screen, generate Admin API key.
Razorpay is used to enable online payments. It allows UPI and Card payments.
- Create a Razorpay account.
- From the dashboard, click Account & Settings, under Website and app settings select API Keys and generate a new key.
- From a CLI, clone this repository
git clone https://github.com/yobahBertrandYonkou/eden-store.git- Navigate to repository
cd eden-store- Copy the secret key generate private key, from step 1, to
server/controllers/credentialsin the project directory.
- In the project root directory, create a
.envfile and paste a Firebase WEB API KEY. This key can be found in your Firebase project > Project Settings > General tap > Your project section.
WEP_API_KEY=put-key-here
- In
server/controllers/credentials/, create analgolia.jsonfile and put the following attributes.
{
"ApplicationId": "APP-ID",
"AdminAPIKey": "KEY-HERE"
}The ApplicationId and AdminAPIKeys can be gotten from step 2.
- In
server/controllers/credentials/, create anrazorpay.jsonfile and put the following attributes.
{
"key_id": "rzp_test_QPpw5ivYvBF4L1",
"key_secret": "jOEQNUo6dQaRA5OlFFRfGgYK"
}The key_id and key_secrets can be gotten from step 3.
- Install application dependencies
npm install - Start backend server.
npm run startserver- Run frontend server.
npm run start![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |




























