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 #
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.
Data Management:
- Database design includes tables for users, permissions, roles, documents, campaigns, KYC processes, comments, transactions, addresses, notifications, support tickets, campaign updates, and ratings.
User Interface (UI) Design:
- Designed logo and brand identity with Figma.
- Created Figma designs and JSON specifications for reusable design elements.
Integration and APIs:
- OpenAI API for enhancing user experience with personalized recommendations and automated content.
- Google Analytics and Hotjar for user behavior analysis.
Scalability and Performance:
- Utilizing Vercel for scalable frontend deployment.
- CI/CD pipelines ensure consistent performance checks and build integrity.
Security and Privacy:
- KYC process to verify user identities.
- Secure handling of user data and transactions through robust backend practices.
Error Handling and Resilience:
- Comprehensive testing in CI/CD pipelines.
- Error monitoring and logging to handle and rectify issues promptly.
Deployment and DevOps:
- GitHub Actions for continuous integration and deployment.
- Vercel for deploying frontend, and testnet for deploying smart contracts.
Week 2 questionnaire: #
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.
Mentorship Support:
- Regular check-ins with mentors to ensure alignment with project goals.
- Guidance on best practices for architecture design and technology integration.
Exploring Alternative Resources:
- Evaluated alternative frameworks and tools to ensure optimal tech stack selection.
- Considered community feedback and industry trends.
Identifying Knowledge Gaps:
- Recognized the need for deeper understanding of blockchain development and smart contract security.
- Plan to undertake focused learning sessions and workshops.
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.
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.
Sharing Knowledge with Peers:
- Conducted internal workshops and presentations to share learnings.
- Created documentation and guides for team reference.
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 Member | Track | Responsibilities |
---|---|---|
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.