Citymapper is an application designed to optimize travel times within the Parisian transport network. This project focuses on reducing CO2 emissions by providing the most efficient routes for users, leveraging advanced algorithms and modern web technologies.
- Implement route calculation algorithm
- Write Models
- Write Controllers
- Write Services
- Write Repositories
- Write records / dtos / mappers
- Finish MVP
- Implement Mobile First Frontend w/ React or Angular
- Use Axios
- Improve UI/UX design
- Project Overview
- Features
- Tech Stack
- Setup and Installation
- Development
- Testing
- Deployment
- Contributing
- License
The primary objective of Citymapper is to provide an efficient route planning solution for users in Paris. By optimizing travel times, the application helps reduce the carbon footprint associated with daily commutes.
- Calculate and display the shortest route.
- Display a network tree structure.
- Test network connectivity.
- Utilize up-to-date 2024 network data.
- Handle precise departure times and transfer times.
- Provide enhanced user interface elements for schedule display.
- Include RER lines in route calculations.
- Allow users to specify an arrival time.
- Display accessibility information for stations.
- Vite
- React
- TypeScript
- TailwindCSS
- Java 22
- Spring Boot 3.3.0
- PostgreSQL
- Docker
- Node.js
- Java 22
- Docker
- PostgreSQL
-
Clone the repository:
git clone https://github.com/yourusername/citymapper.git cd server
-
Configure the database in
src/main/resources/application.properties
:spring.datasource.url=jdbc:postgresql://localhost:5432/citymapper spring.datasource.username=yourusername spring.datasource.password=yourpassword spring.jpa.hibernate.ddl-auto=update
-
Build and run the backend:
./mvn spring-boot:run
-
Navigate to the frontend directory and install dependencies:
cd client npm install
-
Start the frontend development server:
npm run dev
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.