AutoVerse is a full-stack bike shop application built with the MERN Stack. It offers a seamless experience for browsing, purchasing, and managing bikes online with secure payments via Shurjopay.
Project Structure:project-structure.txt
- React.js
- TypeScript
- Redux Toolkit
- Tailwind CSS
- Ant Design
- Authentication
- Node.js
- Express.js
- MongoDB & Mongoose
- JWT Authentication
- Shurjopay Payment Gateway
frontend/
βββ src/
β βββ assets/ # Images, icons, logos
β βββ components/ # Reusable UI components
β βββ pages/ # Page components
β βββ redux/ # Redux store & slices
β βββ utils/ # Helper functions
β βββ App.tsx # Main app entry
β βββ index.tsx # Root file
β βββ routes.tsx # Routing configuration
β βββ .env.example # Example environment variables
βββ public/
βββ package.json # Frontend dependencies
βββ README.md
- Node.js installed
- MongoDB Atlas or Local MongoDB
- Create
.envfiles inbackend/andfrontend/
cd backend
npm install
npm startcd frontend
npm install
npm run dev| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/bikes |
Fetch all bikes |
| POST | /api/v1/orders |
Place an order |
| POST | /api/v1/auth/register |
User registration |
- Install Vercel CLI:
npm install -g vercel - Run
verceland follow setup prompts - Deploy using
vercel --prod
- Push code to GitHub
- Connect Render/Heroku with GitHub repo
- Set up environment variables
- Deploy & monitor logs
We welcome contributions! Check CONTRIBUTING.md for details.
MIT License - see the LICENSE file for details.
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
- Configure the top-level
parserOptionsproperty like this:
export default tseslint.config({
languageOptions: {
// other options...
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
},
})- Replace
tseslint.configs.recommendedtotseslint.configs.recommendedTypeCheckedortseslint.configs.strictTypeChecked - Optionally add
...tseslint.configs.stylisticTypeChecked - Install eslint-plugin-react and update the config:
// eslint.config.js
import react from 'eslint-plugin-react'
export default tseslint.config({
// Set the react version
settings: { react: { version: '18.3' } },
plugins: {
// Add the react plugin
react,
},
rules: {
// other rules...
// Enable its recommended rules
...react.configs.recommended.rules,
...react.configs['jsx-runtime'].rules,
},
})