Carx is a full-stack application that brings affordability to your fingertips. This repository contains the server-side code. For the client-side code, visit Carx Client.
- Users can log in with Google or email/password.
- Users can create an account.
- Admin can make other users admins.
- Admins can add, delete, and update cars in the database.
- Users can retrieve all cars or a single car from the database.
- Users can place orders.
- Users can retrieve their order history.
- Admins can view all orders and update order statuses.
- Users can make payments for orders.
- Users can view their payment history.
- Admins can access all payment records.
- Users can add reviews.
- Users can view their reviews.
- Admins can view all reviews and delete them.
- Users can send messages.
- Admins can access all messages in their inbox.
- Language: TypeScript
- Server Framework: Node.js with Express.js
- Database: MongoDB
- Authentication: Firebase
- Payment Processing: Stripe
- Email Handling: Node Mailer
- Validation: Zod
- Node.js and npm installed
- MongoDB installed and running
- Firebase and Stripe accounts for authentication and payment features
- Clone the repository:
git clone https://github.com/suhag-alamin/carx-server.git
- Navigate to the project directory:
cd carx-server
- Install dependencies:
yarn install
-
Configure environment variables (refer to .env.example)
-
Run the server:
yarn dev