This is the web application codebase for MyCargonaut, a ride-sharing and freight-sharing platform that allows users to connect for transportation services. Built with Next.js, this app delivers a responsive and efficient experience for desktop and mobile web browsers.
- Features
- Tech Stack
- Installation
- Running Locally
- Folder Structure
- Environment Variables
- Contributing
- License
- User authentication (Login/Register) using JWT.
- Create, edit, and manage offers and requests.
- Search functionality with route filters and date range.
- Real-time tracking of shipments and rides.
- Secure payment processing and transaction history.
- Review and rating system for users and drivers.
- Framework: Next.js
- Styling: Tailwind CSS
- State Management: Context API / Redux (if applicable)
- Backend Communication: REST and GraphQL
- Testing: Jest and Cypress
-
Clone the repository:
git clone https://github.com/BatatiDE/mycargonaut-web.git cd mycargonaut-web
-
Install dependencies:
npm install
-
Setup environment variables: Create a
.env.local
file in the root directory and add the required environment variables (see Environment Variables).
-
Start the development server:
npm run dev
-
Access the app: Open http://localhost:3000 in your browser.
.
├── public/ # Public assets (e.g., images, icons)
├── src/
│ ├── app/ # Next.js pages and layouts
│ ├── components/ # Reusable components
│ ├── styles/ # Global and modular CSS files
│ ├── utils/ # Helper functions and utilities
│ ├── types/ # TypeScript type definitions
│ ├── tests/ # Test cases for components and pages
├── .eslintrc.json # ESLint configuration
├── package.json # Dependencies and scripts
└── README.md # Project documentation
The web app requires the following environment variables:
Variable | Description |
---|---|
NEXT_PUBLIC_API_URL |
Base URL for the backend API |
NEXT_PUBLIC_MAP_API_KEY |
API key for map services (Google Maps, etc.) |
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature
- Commit your changes:
git commit -m "feat: Add your feature"
- Push to your 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.