A camping service where you find place to relax, connect with nature, and yourself. You can find camps in different locations, save them, and check if space is available, and if you like it, you can book it.
- Drag a map to find camps in different locations
- Check availability of a camp as per guests and dates
- Save camps to your wishlist
- Pay for a camp booking
- Access and refresh tokens auth system
- Different rendering patterns (CSR, SSR, SSG, ISR)
- Responsive, fluid, proper design system and Storybook
- Type safe and runtime api response validation with Zod
- Testing with Cypress and Jest
- Admin dashboard for managing camps, users, orders, and reviews
Start backend:
cd backend/
# Populate .env file
pipenv install
pipenv shell
cd src/
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
# Optional to populate database
python manage.py seed_users --mode=refresh
python manage.py seed_tags --mode=refresh
python manage.py seed_features --mode=refresh
python manage.py seed_camps --mode=refresh
python manage.py seed_camp_images --mode=refresh
python manage.py seed_camp_features --mode=refresh
python manage.py seed_reviews --mode=refresh
Start frontend:
cd frontend/
# Populate .env file
pnpm install
pnpm run dev
Frontend:
- TypeScript, React, NextJS (pages router)
- MUI, Storybook, GSAP
- React Query, React Hook Form, Zustand, Zod
- Mapbox, Stripe
- Cypress, Jest, React Testing Library
Backend:
- Python, Django, Django Rest Framework
- SQLite
- Stripe, Cloudinary
- Add more tests
- Add notification system
- Refactor FE and create common UI components
- Add animations