This is the frontend repository for Voodle, a trading platform where users can create strategies to automatically buy and sell tokens on the TON blockchain, without the need for technical knowledge.
This is my first time open-sourcing a project, so I appreciate your patience as I work through any issues. Since I didn't originally plan to open-source this, the code could be better documented and cleaned up. Improvements are on the way!
The frontend and backend are separated into two repositories:
- The frontend design needs to be improved.
- Some components may not be fully responsive.
- Error handling and user feedback could be enhanced.
- User authentication with magic link
- Strategy management interface
- Transaction history view
- Wallet integration
- Framework: Next.js 14
- Styling: Tailwind CSS with Tailwind UI components and Headless UI
- State Management: React Context API
- API Communication: Apollo Client (GraphQL)
- Form Handling: React Hook Form with Zod validation
- Icons: Lucide React
- Node.js (v18.17.1 or later)
- pnpm
-
Clone the repository:
git clone https://github.com/jcoulaud/voodle-client.git cd voodle-client -
Install dependencies:
pnpm install -
Set up environment variables:
- Copy
.env.exampleto.envand fill in the required values.
- Copy
-
Start the development server:
pnpm run dev -
Open http://localhost:3001 with your browser to see the result.
-
Start the backend:
To run the backend application, please refer to the Voodle Backend Repository for installation and setup instructions.
src/:app/: Next.js 14 app directory(authenticated)/: Routes that require authenticationauth/: Authentication-related pages (login, verify)components/: Shared components used across multiple pageslib/: Utility functions, GraphQL queries/mutations, and configurationsproviders/: React context providersstyles/: Global styles and Tailwind CSS configuration
components/: Reusable React componentshooks/: Custom React hookstypes/: TypeScript type definitionsmiddleware.ts: Next.js middleware for route protection and logging
public/: Static assets (images, fonts, etc.)
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the AGPLv3 license - see the LICENSE file for details.