Week #2

Week #2 #

Week 2 - Choosing the Tech Stack, Designing the Architecture #

Tech Stack Selection #

  • Frontend: Next.js
  • Backend: Laravel/PHP
  • Smart Contracts: Solidity
  • AI Integration: Python, OpenAI API
  • CI/CD: GitHub Actions for Vercel
  • Smart Contracts Deployment: Testnet

Architecture Design #

  1. Component Breakdown:

    • Frontend: Next.js for the main website interface.
    • Backend: Laravel/PHP for handling business logic and database interactions.
    • Smart Contracts: Solidity for blockchain interactions and crowdfunding logic.
  2. Data Management:

    • Database design includes tables for users, permissions, roles, documents, campaigns, KYC processes, comments, transactions, addresses, notifications, support tickets, campaign updates, and ratings.
  3. User Interface (UI) Design:

    • Designed logo and brand identity with Figma.
    • Created Figma designs and JSON specifications for reusable design elements.
  4. Integration and APIs:

    • OpenAI API for enhancing user experience with personalized recommendations and automated content.
    • Google Analytics and Hotjar for user behavior analysis.
  5. Scalability and Performance:

    • Utilizing Vercel for scalable frontend deployment.
    • CI/CD pipelines ensure consistent performance checks and build integrity.
  6. Security and Privacy:

    • KYC process to verify user identities.
    • Secure handling of user data and transactions through robust backend practices.
  7. Error Handling and Resilience:

    • Comprehensive testing in CI/CD pipelines.
    • Error monitoring and logging to handle and rectify issues promptly.
  8. Deployment and DevOps:

    • GitHub Actions for continuous integration and deployment.
    • Vercel for deploying frontend, and testnet for deploying smart contracts.

Week 2 questionnaire: #

  1. Tech Stack Resources:

    • Documentation for Next.js, Laravel, Solidity, and OpenAI API.
    • Tutorials and guides for setting up CI/CD with GitHub Actions and Vercel.
  2. Mentorship Support:

    • Regular check-ins with mentors to ensure alignment with project goals.
    • Guidance on best practices for architecture design and technology integration.
  3. Exploring Alternative Resources:

    • Evaluated alternative frameworks and tools to ensure optimal tech stack selection.
    • Considered community feedback and industry trends.
  4. Identifying Knowledge Gaps:

    • Recognized the need for deeper understanding of blockchain development and smart contract security.
    • Plan to undertake focused learning sessions and workshops.
  5. Engaging with the Tech Community:

    • Participated in online forums and communities related to our tech stack.
    • Attended webinars and meetups for networking and knowledge sharing.
  6. Learning Objectives:

    • Mastery of Next.js and Laravel for building a robust web application.
    • Proficiency in writing secure and efficient Solidity smart contracts.
    • Effective use of OpenAI API for enhancing user interactions.
  7. Sharing Knowledge with Peers:

    • Conducted internal workshops and presentations to share learnings.
    • Created documentation and guides for team reference.
  8. Leveraging AI:

    • Implemented AI-driven personalization features using OpenAI API.
    • Analyzed user data to improve the website’s user experience and engagement.

Tech Stack and Team Allocation #

Team MemberTrackResponsibilities
Mohammad Safi[Frontend/Fullstack]Creating the website and helping with Blockchain tech
Haidar Jbeily[Backend/Smart Contracts]Implementing the Backend and writing the smart contracts
Mohammad Jaafar[UI&UX/design/ML]Designing the website with figma to be user friendly and helping with AI
Haidar Sarhan[Backend/ML]Implementing the Backend and integration of AI
Mohammad Anas Al Atasi[Backend/Documentation/ML]Writing Documentation, Integrating AI and helping with Backend implementation

Weekly Progress Report #

Our team accomplished several key tasks this week:

  • Frontend: Created repository, set up Next.js with initial configurations, designed initial UI components.
  • Backend: Created repository, set up Laravel with necessary packages, designed initial database schema.
  • AI Integration: Integrated OpenAI API for user experience enhancements, set up initial AI-driven features.
  • CI/CD: Configured GitHub Actions for continuous integration and deployment to Vercel.

Challenges & Solutions #

  • Challenge: Integrating multiple tech stacks (Next.js, Laravel, Solidity) efficiently.

    • Solution: Held architecture design sessions to ensure seamless integration and clear interfaces between components.
  • Challenge: Ensuring the security of user data and transactions.

    • Solution: Implemented comprehensive KYC process and robust backend security measures.
  • Challenge: Balancing feature development with deployment pipeline setup.

    • Solution: Prioritized CI/CD setup early in the project to streamline subsequent deployments and testing.

Conclusions & Next Steps #

This week, we successfully laid the groundwork for the BlockFunders platform by selecting a robust tech stack and designing a scalable architecture. Moving forward, our focus will be on:

  • Developing core features for the frontend and backend.
  • Enhancing the AI-driven user experience.
  • Conducting extensive testing and security audits on smart contracts.
  • Continuously improving our CI/CD processes to ensure smooth deployments.