The FAQ Manager is a full-stack web application designed to help users manage frequently asked questions. The frontend of the application is built with Next.js, while the backend is built with Node.js and uses TypeScript.
The FAQ Manager app is designed to be easy to use, with a simple interface that makes it easy to add, delete, and search for frequently asked questions. This provides instructions for installing and running the app, as well as information about the app's features, structure, and technologies used.
The FAQ Manager app allows users to:
- Create and manage frequently asked questions
- Add Questions
- Delete questions
- Search for questions
- Node.js (v12 or higher)
- npm (v6 or higher)
- Clone the repository to your local machine.
git clone https://github.com/dhawel/FAQ-manager.git
- Navigate to the frontend project directory.
cd client
- Install the dependencies.
npm install
- Create a .env file in the root directory of the project and add backend API URL.
BASE_URL = "<backend API URL>"
components/
: React components used in the app.pages/
: Next.js pages that serve as the app's routes.public/
: Static assets used in the app.redux/
: Redux toolkit implementation the app's state.__test__
: Tests
To run the backend API of the app, follow these steps:
- Clone the repository to your local machine.
git clone https://github.com/dhawel/FAQ-manager.git
- Navigate to the project directory.
cd server
- Install the dependencies.
npm install
- Create a .env file in the root directory of the project and add your MongoDB connection string
MONGODB_URI=mongodb://<username>:<password>@<hostname>/<database-name>
To run the app, follow these steps:
- Start the development server for the frontend.
cd client
npm run dev
- Start the development server for the backend.
cd server
npm run dev
-
Open your browser and go to http://localhost:3000.
This will start the server in development mode with hot-reloading enabled.
To deploy the application, you can use a hosting service like Vercel for the client and Railway for the server. Be sure to update your environment variables accordingly.
This app was built using the following technologies:
- TypeScript
- Nextjs
- Jest
- Material UI
- Redux Toolkit
- Node.js
- Express.js
- MongoDB
- Mongoose
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change
To learn more about Next.js and Nodejs, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
- Learn Nodejs- official Node.js website.