Chimoney / chimoney-community-projects

Repo for Community Contributors
http://api.chimoney.io/
MIT License
137 stars 174 forks source link

Chimoney Fullstack Developer Challenge #348

Open uchibeke opened 9 months ago

uchibeke commented 9 months ago

Description

This challenge is open to anyone who is interested in a Fullstack Developer role at Chimoney. Please, feel free to complete this challenge and invite @uchibeke to the Github PR to evaluate it. Feel to to have it in a public or private repo (invite @uchibeke as a Collaborator)

Welcome to the Chimoney Fullstack Developer Challenge! This challenge is designed to assess your skills and abilities across various aspects of fullstack development, including frontend and backend development, API integration, security, and understanding of payments and web3. You will have 7 days to complete the challenge (Ping @uchibeke on the day you decide to start the Challenge).

Challenge Overview:

You are tasked with building a simple deployed web application that allows users to create and manage their accounts, send and receive payments, and view transaction history. The application should be built using React with Next.js (or similar frameworks) on the frontend and Node.js with Express on the backend. Firestore/Supabase (for simplicity or another DB of your choice) will be used as the database, and the application should be deployed using Vercel/Render/Heroku/AWS/GCP etc. It should be live and viewable and have CI/CD.

Requirements:

  1. User Authentication: Implement user authentication using Firebase Authentication or similar. Users should be able to sign up, log in, and log out securely.

  2. Dashboard: Create a dashboard page where users can view their account balance, recent transactions, and perform actions such as sending and receiving payments. This could be a call to Chimoney to pull user transactions.

  3. Send Payment: Implement a feature that allows users to send payments to other users and non-users using Chimoney's API. Users should be able to specify the recipient's account ID (through a search), email or phone number and the amount to send.

  4. Receive Payment: Implement a feature that allows users to receive payments from other users. When a payment is received, it should be reflected in the user's account balance and transaction history. Consider allowing users receive Payments to their email or phone (powered by Chimoney) and cashing it into their Account in the Web App.

  5. Transaction History: Create a page where users can view their transaction history, including details such as transaction date, type (sent or received), amount, and recipient/sender information. This could be a call to Chimoney's API to pull user transactions and rendering this is a standard table using a table module of your choosing.

  6. Security: Ensure that sensitive user data such as passwords and payment information is stored securely and encrypted. Implement necessary security measures to prevent common vulnerabilities such as XSS and CSRF attacks.

  7. API Integration: Integrate Chimoney's API for sending and receiving payments. Refer to Chimoney's API documentation for details on endpoints and authentication.

  8. CI/CD: Set up continuous integration and deployment using a available tools. Automate the build and deployment process to ensure smooth and efficient deployment of updates.

  9. Ambition and Alignment: Demonstrate your ambition and alignment with Chimoney's values of excellence, speed, and impact by delivering a high-quality, well-designed application that meets the requirements and exceeds expectations.

Evaluation Criteria:

Your submission will be evaluated based on the following criteria:

Submission:

To submit your project, please mention @uchibeke in the GitHub repository containing your codebase. Include all required information in the PR along with any necessary instructions for running the application locally and the live lin. Additionally, include a brief summary of your approach and any challenges you encountered during the development process.

Good luck, and we look forward to reviewing your submission!

ajax484 commented 9 months ago

Hi @uchibeke hope i'm not late to the party

iamgideonidoko commented 9 months ago

Hello @uchibeke, I didn't get to know about this on time. Hope I'm not too late.

I've invited you to my repo here.

kcokoji commented 9 months ago

Hi @uchibeke i am starting the project today .I added you as a collaborator in my repo

ifeoluwaayo commented 9 months ago

Anyone having this issue?

{ "status": "error", "error": "key not valid. Generate a new one from the developer portal" }

ifeoluwaayo commented 9 months ago

Anyone having this issue?

{ "status": "error", "error": "key not valid. Generate a new one from the developer portal" }

I'm getting this after adding my API keys I generated from the link sent before

todak2000 commented 9 months ago

Anyone having this issue? { "status": "error", "error": "key not valid. Generate a new one from the developer portal" }

I'm getting this after adding my API keys I generated from the link sent before

same here. old api keys not working anymore. @uchibeke please any suggestion to what can be done. I am stuck

maaz619 commented 9 months ago

Anyone having this issue? { "status": "error", "error": "key not valid. Generate a new one from the developer portal" }

I'm getting this after adding my API keys I generated from the link sent before

same here. old api keys not working anymore. @uchibeke please any suggestion to what can be done. I am stuck

Which api route you are trying to access?

akinloludavid commented 9 months ago

Anyone having this issue? { "status": "error", "error": "key not valid. Generate a new one from the developer portal" }

I'm getting this after adding my API keys I generated from the link sent before

same here. old api keys not working anymore. @uchibeke please any suggestion to what can be done. I am stuck

@todak2000 i think you should create an organization in that sandbox and generate an api key

maaz619 commented 9 months ago

Switch to sandbox api. Chimoney api are not for testing. Only sandbox api can be used for testing.

todak2000 commented 9 months ago

Anyone having this issue? { "status": "error", "error": "key not valid. Generate a new one from the developer portal" }

I'm getting this after adding my API keys I generated from the link sent before

same here. old api keys not working anymore. @uchibeke please any suggestion to what can be done. I am stuck

@todak2000 i think you should create an organization in that sandbox and generate an api key

thanks. i noticed when i refreshed, it reverted from sandbox. its working as expected now. Thank you

Jhon-crypt commented 9 months ago

Please use https://chimoney.readme.io/reference/introduction

@uchibeke the sand box api returns error

todak2000 commented 9 months ago

@uchibeke please confirm that /payouts/bank on sandbox has no success result. are there test account details we can use?

kinyichukwu commented 9 months ago

Hi, @uchibeke 👋👋.I have finished the task(on Saturday) and I sent you an invite to my repo.

uchibeke commented 9 months ago

Hi all, we have sent interview invitations to some folks who have completed the challenge and met some of the requirements. If you've finished all the outlined requirements, please feel free to wrap up and ping me in the repo when ready for review.

We will move to the next steps on a first-complete, first-interview basis and we are set to make offers as early as Wednesday this week.

akinloludavid commented 9 months ago

Hi all, we have sent interview invitations to some folks who have completed the challenge and met some of the requirements. If you've finished all the outlined requirements, please feel free to wrap up and ping me in the repo when ready for review.

We will move to the next steps on a first-complete, first-interview basis and we are set to make offers as early as Wednesday this week.

@uchibeke I just pinged you in my repo now. Thanks

Emekarr commented 9 months ago

Good evening @uchibeke How can we mock in bound payments on the API. Can't seem to find it

uchibeke commented 9 months ago

Good evening @uchibeke How can we mock in bound payments on the API. Can't seem to find it

Webhooks. The dev page you can subscribe to events. Most incoming and outgoing payments send you Webhook notifications

Femtech-web commented 9 months ago

Hello @uchibeke , Although my submission date is Tuesday but I invited you as a collaborator to the private repo. pls check and do to accept. Thanks.

streuby commented 9 months ago

Hello @uchibeke . I want to bring to you knowledge that I am starting this challenge today. I have added you as a collaborator. Thank you.

Ojochogwu866 commented 9 months ago

Hello @uchibeke Please i sent you invites to my repo. Thank you

ifeoluwaayo commented 9 months ago

Hello @uchibeke please accept the invite I sent to you for the review

Intellihackz commented 9 months ago

Completed today added you as a contributor the repo here @uchibeke @uchibeke live link : https://chimoney-app.vercel.app 💯

maaz619 commented 9 months ago

@uchibeke completed the assignment. FE: https://github.com/maaz619/chimoney-test-fe BE: https://github.com/maaz619/chimoney-test-be

live: https://chimoney-test-fe.vercel.app/

ifeoluwaayo commented 9 months ago

Hello @uchibeke please accept the invite I sent to you for the review

Hello @uchibeke kindly accept the repo invite

Here's the demo-url: https://chi-orpin.vercel.app

dro-1 commented 9 months ago

For the people that have gotten to the interview stage, can you please drop the links to your projects so we can learn from you guys.

uchibeke commented 9 months ago

Hi everyone, these are some of the biggest issues we're seeing in many of the submissions:

With that being said, if you have a solution that works seamlessly, meets all the requirements and considers all the feedback I shared above, then ping me again if you've not been invited for the next step. Feel free to edit as needed and ping me here and we will review tonight.

Intellihackz commented 9 months ago

@uchibeke https://github.com/Chimoney/chimoney-community-projects/issues/348#issuecomment-1966891044

uchibeke commented 9 months ago

@uchibeke #348 (comment)

I personally reviewed this. Others can try too. There’s an opportunity to improve and I’m open to reviewing again if you read through the requirements again, implement them, test and retest and ping me to try again.

ifeoluwaayo commented 9 months ago

@uchibeke

On Thu, Feb 29, 2024 at 2:59 PM Uchi Uchibeke @.***> wrote:

@uchibeke https://github.com/uchibeke #348 (comment) https://github.com/Chimoney/chimoney-community-projects/issues/348#issuecomment-1966891044

I personally reviewed this. Others can try too. There’s an opportunity to improve and I’m open to reviewing again if you read through the requirements again, implement them, test and retest and ping me to try again.

— Reply to this email directly, view it on GitHub https://github.com/Chimoney/chimoney-community-projects/issues/348#issuecomment-1971203849, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATBNHRL6GGC5CGJ25WDRN63YV4Z2NAVCNFSM6AAAAABDOPPTFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZRGIYDGOBUHE . You are receiving this because you commented.Message ID: @.***>

Emekarr commented 9 months ago

Good day Uchi @uchibeke I think mine passes the check although I feel somethings might take quiet a while to implement like the key exchange and encryption but majority of the basic requirements have been met. Here are the links backend repo - https://github.com/Emekarr/chimoney-node frontend repo - https://github.com/Emekarr/chimoney-client backend url -https://chimoney-node-iea4.onrender.com frontend url - https://mango-tree-041520510.4.azurestaticapps.net

Intellihackz commented 9 months ago

@uchibeke when you say receive payment you meant like receive payment from the other app users right ??

i just deployed the latest version new version @uchibeke

akinloludavid commented 9 months ago

@uchibeke Kindly check this https://chimoney-ak-test.netlify.app/. i already tagged you in my repo https://github.com/akinloludavid/chimoney-fullstack-app/pull/3

Emekarr commented 9 months ago

@uchibeke I have sent an invite to both repos

backend repo - https://github.com/Emekarr/chimoney-node frontend repo - https://github.com/Emekarr/chimoney-client

kcokoji commented 9 months ago

HI @uchibeke I have completed the project ,Here is the link to the project to test it out https://chimoney-project.vercel.app/ .I also added you as a collaborator to review the code.I hope i am not late for the submission of the project.Please if you have an questions feel free to ping me

Femtech-web commented 9 months ago

Hello @uchibeke , I have completed the project. I had some light constraints but I just had to finish it. I took my time to perfectly understand the requirements before creating my soultion. I already added you as a collaborator to the Repo and here is the live link https://chimoney-app-pink.vercel.app. Please Review and check the repo out. would be expecting your feedback. Thanks.

streuby commented 9 months ago

Is anyone getting this error "Request failed with status code 502" when making request to the endpoint "https://api-v2-sandbox.chimoney.io/v0.2/sub-account/create"? How can I resolve this?

todak2000 commented 9 months ago

502

HI @streuby , I am sure you are aware a 50X is a server error. Why dont you try again later. This might be due to several reasons. If it persist, then call the attention of @uchibeke

Femtech-web commented 9 months ago

Hello @uchibeke , I replied to the issue you raised on the project on my repo.

Please do to check. Thanks.

AmazingJosh commented 7 months ago

Hi @uchibeke, is this offer still available???

dkrest1 commented 7 months ago

okay

Emekarr commented 7 months ago

@uchibeke my past submission is still available

repos https://github.com/Emekarr/chimney-frontend https://github.com/Emekarr/chimoney-node

uchibeke commented 7 months ago

Hi All, we're hiring a new set of Developers after the last batch

Please, email me your submission directly at uchi at chimoney

Ojochogwu866 commented 7 months ago

Hi All, we're hiring a new set of Developers after the last batch

Please, email me your submission directly at uchi at chimoney

Hi Uchi, can anyone who did not make it past the interview the last time submit again for another entry?

Johnmiicheal commented 7 months ago

@uchibeke Hi 👋 This is a ping to indicate the commencement of my attempt.

Femtech-web commented 7 months ago

Hi All, we're hiring a new set of Developers after the last batch

Please, email me your submission directly at uchi at chimoney

Hello @uchibeke, please drop your email link/name so as to message you directly like you said

Ekaji commented 7 months ago

Description

This challenge is open to anyone who is interested in a Fullstack Developer role at Chimoney. Please, feel free to complete this challenge and invite @uchibeke to the Github PR to evaluate it. Feel to to have it in a public or private repo (invite @uchibeke as a Collaborator)

Welcome to the Chimoney Fullstack Developer Challenge! This challenge is designed to assess your skills and abilities across various aspects of fullstack development, including frontend and backend development, API integration, security, and understanding of payments and web3. You will have 7 days to complete the challenge (Ping @uchibeke on the day you decide to start the Challenge).

Challenge Overview:

You are tasked with building a simple deployed web application that allows users to create and manage their accounts, send and receive payments, and view transaction history. The application should be built using React with Next.js (or similar frameworks) on the frontend and Node.js with Express on the backend. Firestore/Supabase (for simplicity or another DB of your choice) will be used as the database, and the application should be deployed using Vercel/Render/Heroku/AWS/GCP etc. It should be live and viewable and have CI/CD.

Requirements:

  1. User Authentication: Implement user authentication using Firebase Authentication or similar. Users should be able to sign up, log in, and log out securely.
  2. Dashboard: Create a dashboard page where users can view their account balance, recent transactions, and perform actions such as sending and receiving payments. This could be a call to Chimoney to pull user transactions.
  3. Send Payment: Implement a feature that allows users to send payments to other users and non-users using Chimoney's API. Users should be able to specify the recipient's account ID (through a search), email or phone number and the amount to send.
  4. Receive Payment: Implement a feature that allows users to receive payments from other users. When a payment is received, it should be reflected in the user's account balance and transaction history. Consider allowing users receive Payments to their email or phone (powered by Chimoney) and cashing it into their Account in the Web App.
  5. Transaction History: Create a page where users can view their transaction history, including details such as transaction date, type (sent or received), amount, and recipient/sender information. This could be a call to Chimoney's API to pull user transactions and rendering this is a standard table using a table module of your choosing.
  6. Security: Ensure that sensitive user data such as passwords and payment information is stored securely and encrypted. Implement necessary security measures to prevent common vulnerabilities such as XSS and CSRF attacks.
  7. API Integration: Integrate Chimoney's API for sending and receiving payments. Refer to Chimoney's API documentation for details on endpoints and authentication.
  8. CI/CD: Set up continuous integration and deployment using a available tools. Automate the build and deployment process to ensure smooth and efficient deployment of updates.
  9. Ambition and Alignment: Demonstrate your ambition and alignment with Chimoney's values of excellence, speed, and impact by delivering a high-quality, well-designed application that meets the requirements and exceeds expectations.

Evaluation Criteria:

Your submission will be evaluated based on the following criteria:

  • Attention to detail and adherence to requirements
  • Critical thinking and problem-solving skills
  • Ability to use React (Next.js or similar), Node.js, and Express (other backend tools) effectively
  • Implementation of Chimoney's API and integration with the application
  • Security measures implemented to protect user data
  • Understanding of payments and fintechs and their implications for the application
  • Implementation of CI/CD for automated deployment
  • Architecture, quality of code, including readability, maintainability, and documentation in the readme
  • Overall ambition and alignment with Chimoney's values

Submission:

To submit your project, please mention @uchibeke in the GitHub repository containing your codebase. Include all required information in the PR along with any necessary instructions for running the application locally and the live lin. Additionally, include a brief summary of your approach and any challenges you encountered during the development process.

Good luck, and we look forward to reviewing your submission!

Hi All, we're hiring a new set of Developers after the last batch

Please, email me your submission directly at uchi at chimoney

Hi, @uchibeke i am intrested in taking on this challenge

Invalid8 commented 7 months ago

@uchibeke I will be taking all this challenge.

Danimoz commented 7 months ago

Is there a design for this?

Ikwemogena commented 7 months ago

Hi @uchibeke , I'll be starting the challenge today. ⌛

CK-codemax commented 7 months ago

Hi @uchibeke , I'll be starting the challenge today.