Artreon
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v3View latest version
A marketplace platform for photographers and artists to showcase their work and connect with potential clients.
- Artist/Photographer Profiles: Creatives can create profiles showcasing their portfolio
- Portfolio Management: Upload and organize artwork/photography samples
- Client Discovery: Browse artists by category, style, and location
- Contact System: Direct messaging between clients and creatives
- Service Listings: Artists can list their services with pricing
- Responsive Design: Works on desktop and mobile devices
├── backend/
│ ├── database/
│ │ ├── migrations.ts # Database schema
│ │ └── queries.ts # Database operations
│ ├── routes/
│ │ ├── artists.ts # Artist CRUD operations
│ │ ├── portfolio.ts # Portfolio management
│ │ └── static.ts # Static file serving
│ └── index.ts # Main API server
├── frontend/
│ ├── components/
│ │ ├── App.tsx # Main application
│ │ ├── ArtistCard.tsx # Artist profile card
│ │ ├── Portfolio.tsx # Portfolio viewer
│ │ └── ContactForm.tsx # Contact form
│ ├── index.html # Main HTML template
│ └── index.tsx # Frontend entry point
└── shared/
└── types.ts # Shared TypeScript types
- Backend: Hono (TypeScript API framework)
- Database: SQLite
- Frontend: React with TypeScript
- Styling: TailwindCSS
- Deployment: Val Town
The application is automatically deployed on Val Town. The main entry point is backend/index.ts which serves both the API and the frontend.
GET /api/artists- List all artistsGET /api/artists/:id- Get artist detailsPOST /api/artists- Create artist profileGET /api/portfolio/:artistId- Get artist portfolioPOST /api/contact- Send contact message
- artists: Artist profiles and information
- portfolio_items: Individual artwork/photos
- contacts: Contact form submissions