A modern, responsive website for CurryTech Solutions, a fictional tech startup offering various IT services.
- Responsive design with mobile-first approach
- Dynamic content loading via API
- User authentication (register/login)
- Contact form with validation
- Blog section with dynamic articles
- Testimonials section
- Dark mode toggle
- And more!
- Frontend: React.js, React Router, Styled Components
- Backend: Node.js, Express.js
- Database: MongoDB with Mongoose
- Authentication: JWT (JSON Web Tokens)
- API Integration: Fetch API, Axios
- Node.js (v14 or higher)
- MongoDB (local or Atlas)
- Clone the repository
git clone https://github.com/ertancurr1/currytech-solutions.git
cd currytech-solutions- Install dependencies for root, frontend, and backend
npm run install-all
- Set up environment variables
- Create a
.envfile in thebackenddirectory and add:
PORT=5000
MONGO_URI=mongodb://localhost:27017/currytech
JWT_SECRET=your_jwt_secret_key_here
JWT_EXPIRE=30d
NODE_ENV=development- Create a
.envfile in thefrontenddirectory and add:
REACT_APP_API_URL=http://localhost:5000/api
- Start the development server (frontend & backend concurrently)
npm run dev
- Access the application
- Frontend:
https://localhost:3000 - Backend API:
https://localhost:5000/api
/frontend- React.js frontend application/backend- Node.js/Express backend API
POST /api/auth/register- Register a new userPOST /api/auth/login- Login userGET /api/auth/me- Get current user (protected)
POST /api/contact- Submit contact formGET /api/contact- Get all contacts (admin only)GET /api/contact/:id- Get single contact (admin only)PUT /api/contact/:id- Update contact (admin only)DELETE /api/contact/:id- Delete contact (admin only)
GET /api/testimonials- Get all approved testimonialsGET /api/testimonials/:id- Get single testimonialPOST /api/testimonials- Create new testimonial (protected)PUT /api/testimonials/:id- Update testimonial (owner/admin)DELETE /api/testimonials/:id- Delete testimonial (owner/admin)GET /api/testimonials/admin- Get all testimonials (admin only)PUT /api/testimonials/:id/approve- Approve testimonial (admin only)
MIT