Table of Contents |
I have two great loves: coding and dessert. Here's my shot at mixing the two!
Sweetie Pie is an ecommerce app that I built because I wanted some practice with building that kind of an application, managing and controlling state, and payment gateways.
I also wanted to google desserts without feeling (as) guilty.
|
|
|
|
There's a lot more to cover about the process, because it was a bit involved. I got some experience with ant design for different ui elements, and react toast for toast status messages. There was also an opportunity to learn a little about payment gateways with paypal and braintree.
I'm going to look a little bit deeper in the payment gateways, to give myself more familiarity there.
Additionally, I got more experience working deeper into react, undestanding more about context, useState and useEffect. I'm really becoming a bigger and bigger fan of React, for sure!
- Fork and clone the repository to your local computer.
- Complete and store an
.envfile in theserver/configfolder. npm installin the root folder, which installs the required dependencies.- And,
npm run devin the root folder. - This runs a local instance of mongodb. You can connect to it by connecting to
mongodb://127.0.0.1:27017/with any MongoDB client like Compass.
There is so much I still want to tackle if I get the time! Various sizing and position changes, re-scaling images, general styling, etc. I think I need to get away from bootsrap for components and ui elements; I'm seeing it in alot of my work, and it doesn't really do this project justice. I think I want to redesign with Material UI.
I also want to take some time to refactor and make more things into components if I can. I'll tackle that around the same time I get back into redesigning the UI with Material UI. I'm sure there's plenty to be done there.
There are also a couple pages and elements of pages that I want to flesh out a little more fully; things like the about page is a little bare. There's a section of the administrator's contorls for the app in which I want to display information about the app's user base, but I'm on the fenc with that one. I would like to give the site more personality, by fleshing out a home-made goods feel, like with photos of the family that owns the bakery, and including elements of their story in more places. Maybe include a few recipes and such.
The more I think about it, more things come to mind to pour some work into as I get the time. For one: I need to make adjustments to page titles for SEO; I originally was building this to be a camera and photography related type-deal, but got inspired to focus on desserts when I got hungry about 2/3rds through production.
This project was bootstrapped with Create React App.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Note: this is a one-way operation. Once you eject, you can't go back!
If you aren't satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.
You don't have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
.gif)