- Project name: Feed the Needy
- Project description: The website has two purposes: sponsoring and education.
- Technology used: Nextjs, TailwindCSS, i18next, Husky, Prettier, Eslint, Commitlinter (Conventional Commits)
- Team members: Aboura Bouchra Ikram, Belharazem Walid, Mecheter Mouloud , Merzouk Fatima Zohra, Zaidi Mounib.
- Bootcamp: NEA DZ 2023
Welcome to our Website : Buy Me A Meal, a platform dedicated to fighting hunger through the power of sponsorship and education. This website serves as the Capstone Project for the Frontend Web Development in Re:coded, showcasing our ability to create impactful websites while leveraging our technical skills in GitHub, HTML, CSS, JavaScript, Firebase, and Next.js.
• This page likely displays the list of the available meals for each restaurant. • The user can search for specific restaurant inorder to ad dits meals to the cart.
• This page displays the meals that a user has added to their shopping cart. • Users can review, edit the quantity, or remove the meals from their cart.
• The checkout page is where users go to complete their purchase. • The donor provide his name, e-mail and payment information to finalize the donation.
• This page likely contains articles or blog posts related to the issue of hunger in worldwide, (content, news and updates ...) • Users can read and engage with the content on this page.
• The home page is the main landing page when users first visit the website. • It typically provides an overview, blogs and promotions.
This page is accessible only to restaurant owners who have special privileges. such as: • Add Meals : The ability to add new meals to the menu or remove existing ones. • Overview: Tracking and analyzing financial data related to sales and income. • History : Keeping a record of donors who have contributed or made purchases and Track the Number of Active Meals. • Edit Page: to update and modify the details of the restaurant, such as contact information or business hours.
git clone https://github.com/your-username/hunger-heroes.git // Clone the repository
cd buymeameal // Navigate to the project directory
npm install // Install dependencies
Before running the project, make sure to set up the necessary configuration:
-
Stripe API Keys: Add your Stripe secret and public keys to the .env file. STRIPE_SECRET_KEY = your_stripe_secret_key NEXT_PUBLIC_STRIPE_PUBLIC_KEY = your_stripe_public_key
-
Firebase Account: Add your Firebase secret to the .env file. NEXT_PUBLIC_FIREBASE_API_KEY = your_firebase_secret
-
Nodemailer Configuration: Add your email and password to the .env file. EMAIL = your_email@example.com PASS = your_email_password
- When commiting you will have to use
git cz
and then go through the process. Look at the first commit I made to know what that means. - The translation process is done using the i18next library. There's an example in the index.js file of how this is done. Check this github project for more info on how to use the i18next library: i18next
- When writing commits, commitlinter library is used to make sure that your commits are consistent with the conventional commits. To learn more about it refer to the guidelines in Canvas or the conventional commits site.
- The
layout
folder contains the components that will be used in the layout of pages, so components like the header and footer will be placed there.
Good luck and happy coding :D