Bikelane
Bikelane is a full-stack web application for managing users and administration tasks for a bike lane system. It features a React-based admin panel, a user-facing frontend, and an Express.js backend with a MySQL database.
Bikelane is currently WIP - later iterations will focus on improving user experience and adding more features. - and will be a fully hosted web app and not a local one
Project Structure
. ├── backend/ # Express.js backend API
├── frontend_admin/ # React admin panel (Vite + Tailwind CSS)
├── frontend_user/ # React user frontend (Vite + Tailwind CSS)
├── scheme.sql # MySQL database schema and mock data
├── docker-compose.yml # Multi-container orchestration
└── README.md
Features
- Admin Panel: Manage users, edit user data, and perform admin tasks.
- User Frontend: User-facing interface (work in progress).
- Authentication: JWT-based login for admins and users.
- Theming: Light/dark theme toggle in admin panel.
- Dockerized: Easy setup with Docker and Docker Compose.
- MySQL Database: User data storage and management.
Getting Started
Prerequisites
Quick Start with Docker
- Clone the repository:
git clone <your-repo-url> cd bikelane
- Start all services:
Backend: http://localhost:5002 Admin Frontend: http://localhost:5001 User Frontend: http://localhost:5003 MySQL: localhost:3307
docker-compose up --build
- Database: The schema and mock data are in scheme.sql. MySQL root password and DB credentials are set in docker-compose.yml and .env.
Local Development
Backend
- Navigate to the backend directory:
Backend will run on http://localhost:5002
cd backend npm install npm start
Admin Frontend
- Navigate to the admin frontend directory:
Admin Frontend will run on http://localhost:5001
cd frontend_admin npm install npm run dev
User Frontend
- Navigate to the user frontend directory:
User Frontend will run on http://localhost:5003
cd frontend_user npm install npm run dev
Usage
- Admin Login: Use credentials from the mock data in scheme.sql (e.g., username: test1, password: 1test).
- User Management: Add, edit, or delete users from the admin panel.
- Theme Switch: Toggle between light and dark mode in the admin panel.
Technologies
- Frontend: React, Vite, Tailwind CSS, TypeScript
- Backend: Express.js, MySQL, JWT (jose)
- DevOps: Docker, Docker Compose
Contributing
Contributions are welcome! Please fork the repo and submit a pull request.
License
This project is licensed under the MIT License.
Repository: https://git.the1s.de/theis.gaedigk/bikelane
Description
Bikelane is an open source app (currently only a web app), where you can find better routes to travel with your bike.
Languages
TypeScript
75.3%
JavaScript
22.1%
HTML
1.6%
Dockerfile
0.8%
CSS
0.2%