Jungle is an innovative e-commerce platform offering a unique shopping experience for plant enthusiasts. From exotic flowers to classic greenery, Jungle caters to all your botanical needs.
- Interactive Shopping Cart: Allows users to add and remove products from their cart.
- Category-Based Navigation: Users can browse products based on categories.
- Secure User Authentication: Safe and secure login system for users.
- Admin Dashboard: Special access for admins to manage products and categories.
- Clone the repository:
git clone [email protected]:DavidGir/Jungle-Project.git
- Navigate to the project's directory:
cd Jungle-Project
-
Run
bundle install
to install dependencies. -
Create
config/database.yml
by copyingconfig/database.example.yml
. -
Create
config/secrets.yml
by copyingconfig/secrets.example.yml
. -
Run
bin/rails db:reset
to create, load and seed the database. -
Create
.env
file based on.env.example
. -
Sign up for a Stripe account.
-
Put Stripe (test) keys into appropriate .env variables.
-
Run
bin/rails s -b 0.0.0.0
to start the server.
If Rails is complaining about authentication to the database, uncomment the user
and password
fields from config/database.yml
in the development and test sections, and replace development
with an existing database user if necessary.
Use Credit Card # 4111 1111 1111 1111 for testing success scenarios.
More information in their docs: Stripe Testing.
- Ruby on Rails: Server-side web application framework.
- PostgreSQL: Database system.
- Bootstrap: Front-end framework for styling.
- Sass/CSS: Used for advanced styling.
- jQuery: JavaScript library for additional interactivity.
This project uses Cypress, Rails, and RSpec to test features and functionalities, ensuring a robust and reliable application.
Cypress is used for end-to-end testing. It helps in testing the complete flow of the application from a user's perspective.
RSpec is utilized for unit and integration testing of the Ruby code, particularly the Rails backend. It aids in ensuring the reliability and stability of the application's business logic.
Contributions to Jungle are welcome. Please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b new-feature
. - Make your changes and commit them:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin new-feature
. - Submit a pull request.
- Responsive Design: Optimizing for various devices and screens.
- Search Functionality: To find products easily.
- User Profiles: For a personalized shopping experience.
- Social Sharing: Share favorite products on social media.
- Product Ratings and Reviews: For community engagement and feedback.
- Inventory Management: Automatic updates post-purchase.
Developed by David Giroux.
Special thanks to mentors and colleagues at Lighthouse Labs.