DoEi! is a React Application where ONGs can post campaigns to raise donations and for volunteers to easily book donations, making the process of donating easy and fast.
This project was developed by a team of 5 students, as our "Capstone Project" in the "Advanced Front End with React" course from Kenzie Academy. We were tasked to create a "Fake Back End" using JSON-server.Doei JSON-Server.
We learned how to structure a front-end system, studying and consuming a back-end API, the use of multiple javascript libraries, and practical implementation of Scrum and its rituals/ceremonies. Planning and communication were essential, so we used Figma to create a mockup and Trello for creating and assigning tasks.
- React: A JavaScript library for building user interfaces
- Antd: A design system for enterprise-level products.
- Axios: Promise based HTTP client for the browser and node.js
- Material-UI: React components for faster and easier web development.
- Cypress: Fast, easy and reliable testing for anything that runs in a browser.
- Framer Motion: A production-ready motion library for React.
- styled components: Visual primitives for the component age by using the best bits of ES6 and CSS to style apps.
- React Router: A collection of navigational components
- React Hook Form: Performant, flexible and extensible forms with easy-to-use validation.
- Redux: A Predictable State Container for JS Apps
- React-Redux: Official React bindings for Redux
- Redux-Thunk: Middleware allows you to write action creators that return a function instead of an action
- Yup: A JavaScript schema builder for value parsing and validation.
-
ONGs and volunteers can create an account with a username, email, and password. Each with different layout and pages.
-
ONGs can create custom campaigns and post them to registered volunteers and DoEi! visitors.
-
Volunteers can book a donation and manage them in their profile page.
-
ONGs and Volunteers can edit their profile name and description.
To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:
# Clone this repository
$ git clone https://github.com/enias-oliveira/doei
# Install dependencies
$ npm install
# Run the app
$ npm start
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
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.
-
devChallenges (Provided README template)