Welcome to the Cat Stories Management System project!
This repository hosts a comprehensive management solution designed for organizing and sharing cat stories. The system utilizes Express.js and Knex on the backend, with React.js on the frontend, providing a modern and efficient platform for managing and sharing cat-related content.
- Cat Tracking: Easily manage and organize cat stories within the system.
- User Management: Maintain a database of users, allowing for seamless story association.
- React.js Frontend: Utilize a responsive and interactive user interface for a smooth user experience.
- Express.js and Knex Backend: Leverage a robust backend architecture for efficient data handling.
This documentation provides information on setting up and running a Cat Stories Management System with Express.js, Knex, and React.js. To get started with this project, follow the steps below to install the required dependencies.
- Node.js (for both backend and frontend)
- Express.js
- Knex
- React.js
- Visual Studio Code (VSCode) or Sublime Text (your text editor of choice)
- Vite: Frontend build tool
- Jest: Testing framework
- Joi: Object schema validation
- Winston: Logging library
- Axios: HTTP client
- Tailwind CSS: CSS framework
-
Clone the repository to your local machine:
git clone https://github.com/raihanachmad8/cat-stories-management.git
-
Navigate to the project directory:
cd cat-stories-management
-
Install backend dependencies:
pnpm install
-
Install frontend dependencies:
cd frontend pnpm install
-
Setting Environment Variables: Create an .env file in the directory and configure your environment variables (JWT_KEY, DB_MSSQL_DATABASE, DB_MSSQL_USERNAME, DB_MSSQL_PASSWORD). Edit if needed.
-
Migration database:
pnpm migrate:seed
To run the application, use the following commands:
-
Start the backend:
pnpm run start:backend
-
Start the frontend:
pnpm run start:frontend
-
Run both frontend and backend concurrently:
pnpm dev
-
Run database migrations and seed data:
pnpm run migrate:seed
-
Run database migrations only:
pnpm run knex:migrate
-
Rollback the last database migration:
pnpm run knex:rollback
-
Run database seed data only:
pnpm run knex:seed
-
Run tests:
pnpm test
Refer to the project documentation for detailed information on using and extending the Cat Stories Management System.
Explore the API using the Swagger UI or access directly in backend/docs/swagger.yaml.
We appreciate contributions from the community! The following individuals have contributed to the Cat Stories Management System:
Contributions are welcome! If you have ideas for improvements or find issues, please feel free to contribute by following these guidelines:
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch
- Make your changes and commit:
git commit -m 'Add new feature'
- Push to the branch:
git push origin feature-branch
- Submit a pull request.
Please follow our Contribution Guidelines for more details.
Happy coding and cat story managing! 🐾