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.example
to.env
and 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.