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.
index.ts
https://UnzipMe--848502563f7611f0964876b3cceeab13.web.val.run
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