This repository contains the official website for the Barcelona Developers Conference (DevBcn), a tech conference held in Barcelona, Spain. The website serves as the primary platform for conference information, including schedules, speaker profiles, talk details, venue information, and registration.
- Frontend Framework: React 18 with TypeScript
- Routing: React Router
- Data Fetching: React Query and Axios
- Styling: Styled Components and SASS
- UI Components: PrimeReact, Swiper, Framer Motion
- Maps Integration: Google Map React
- Testing: Jest, React Testing Library
- Deployment: GitHub Pages
The project follows a standard React application structure:
src/
: Source codeassets/
: Static assets like imagescomponents/
: Reusable UI componentshooks/
: Custom React hooks (e.g., useFetchSpeakers, useFetchTalks)views/
: Page components2024/
: Components specific to the 2024 conference edition2023/
: Components specific to the 2023 conference edition
This project uses path aliases to simplify imports. Instead of using relative
paths like ../../components/Button
, you can use aliases like
@components/Button
.
Available aliases:
@components/*
- Components fromsrc/components/
@constants/*
- Constants fromsrc/constants/
@services/*
- Services fromsrc/services/
@hooks/*
- Hooks fromsrc/hooks/
@assets/*
- Assets fromsrc/assets/
@styles/*
- Styles fromsrc/styles/
@views/*
- Views fromsrc/views/
@utils/*
- Utilities fromsrc/utils/
@data/*
- Data fromsrc/data/
@types/*
- Types fromsrc/types/
For more details, see the Path Aliases Documentation.
- Clone the repository
- Install dependencies with
npm install
- Start the development server with
npm start
- View the site at http://localhost:3000
npm start
: Run the development servernpm test
: Run testsnpm run test-coverage
: Run tests with coverage reportingnpm run build
: Build for productionnpm run deploy
: Deploy to GitHub Pagesnpm run lint
: Run ESLint to check for code quality issuesnpm run lint:fix
: Run ESLint and automatically fix fixable issues
When contributing to this project, please:
- Follow the existing code style and patterns
- Run ESLint (
npm run lint
) to ensure code quality and fix any issues - Write tests for new features
- Ensure all tests pass before submitting pull requests
- Keep the UI consistent with the existing design
- Document any new components or significant changes
For questions or issues related to the DevBcn website, please open an issue in this repository.
Visit the live site at https://www.devbcn.com