La Patisserie Du Coeur is an e-commerce bakery website that allows users to conveniently order bakery goods online. The website is built using Django REST API on the backend and ReactJS, Docker, and TailwindCSS on the frontend.
- User-friendly Interface: Users can easily browse through a variety of bakery goods and conveniently add them to their cart.
- Inventory Management: Celery task and beat efficiently manage the product inventory, ensuring accurate stock levels.
- Persistent Sessions: Anonymous users are registered with a persistent session, enabling them to access their cart and purchase history across sessions.
- User Accounts: Registered users can enjoy the benefits of having an account, including JWT cookie authentication for secure login and the ability to persistently log in.
- Cart Transfer: Anonymous users can seamlessly transfer their old session carts to their newly created accounts.
- Payment Processing: Purchases are securely processed using a test mode version of Stripe webhook.
git clone https://github.com/<your-username>/La-Patisserie-Du-Coeur.git
docker compose -f "docker-compose-dev.yml" up -d --build rabbitmq celery-worker celery-beat db frontend web nginx
cd frontend && npm start
- Create a SendGrid Account: Visit SendGrid's website to create your own account.
- Generate API Key: Generate a full access API key from your SendGrid account settings.
- Update Environment Variables: Update DOCKER_DEFAULT_FROM_EMAIL with your email and DOCKER_EMAIL_HOST_PASSWORD with your API key in env_backend_dev.env. (Back to Top)
- Create a Stripe Account: Sign up for a Stripe account on their website.
- Locate Secret Key: Find your secret key in your Stripe account settings and copy it to DOCKER_STRIPE in env_backend_dev.
- Configure Webhooks: Follow the instructions provided at Stripe Dashboard and adjust step 2 to $ stripe listen --forward-to localhost/api/v1/checkout/webhook/stripe/.
- Retrieve Endpoint Secret: After following the CLI instructions, you will receive a whsec_... key. Copy this to DOCKER_ENDPOINT_SK in env_backend_dev.env. (Back to Top)
- Docker 20.10.5
- Python 3.8
- Django 3.2
- Django REST Framework 3.12
- ReactJS 17.0 (Back to Top)