A web application dedicated to sharing knowledge about wildlife and promoting environmental sustainability. This platform provides information about various animal species and their habitats, helping users learn more about our planet's biodiversity.
The World is a full-stack web application that features:
- Species Information: Browse and learn about different animal species
- Educational Content: Green knowledge for a sustainable Earth
- Interactive UI: Modern, responsive design with smooth animations
- REST API: Backend API for managing animal data
- Framework: React 19
- Build Tool: Vite 7
- UI Library: Chakra UI
- Routing: React Router DOM
- Animations: Framer Motion
- HTTP Client: Axios
- Styling: Emotion (CSS-in-JS)
- Runtime: Node.js
- Framework: Express 5
- Database: MongoDB with Mongoose
- File Upload: Multer
- CORS: Enabled for cross-origin requests
- Environment: dotenv for configuration
The-World/
├── FE/ # Frontend application
│ ├── src/
│ │ ├── pages/ # Page components (Home, Species)
│ │ ├── component/ # Reusable components
│ │ ├── assets/ # Static assets
│ │ ├── css/ # Stylesheets
│ │ ├── data/ # Static data files
│ │ ├── App.jsx # Main app component
│ │ └── main.jsx # Entry point
│ ├── public/ # Public assets
│ └── package.json
│
├── BE/ # Backend application
│ ├── src/
│ │ ├── config/ # Database configuration
│ │ ├── controllers/# Route controllers
│ │ ├── models/ # Mongoose models
│ │ ├── routers/ # API routes
│ │ └── server.js # Server entry point
│ └── package.json
│
└── README.md # This file
- Node.js (v18 or higher recommended)
- MongoDB (local or cloud instance)
- npm or yarn package manager
git clone https://github.com/Percy234/The-World.git
cd The-Worldcd BE
npm installCreate a .env file in the BE directory:
PORT=3000
MONGODB_URI=mongodb://localhost:27017/the-worldStart the backend server:
npm run devThe backend will run on http://localhost:3000
cd ../FE
npm installStart the development server:
npm run devThe frontend will typically run on http://localhost:5173
GET /animals/all- Get all animalsPOST /animals/create- Create a new animal
{
"name": "Tiger",
"category": "Mammal",
"type": ["Carnivore", "Endangered"]
}- Home Page: Hero section with environmental message
- Species Page: Information about different animal species
- Responsive Design: Works on desktop and mobile devices
- Animal Content Display: Browse through animal information
- Share Functionality: Share content with others
- Hot/trending content view
- Search and filter animals
- Detailed species information pages
- User authentication
- Animal conservation status tracking
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLintnpm run dev # Start development server with nodemonContributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the ISC License.
- Project maintained by Percy234
- Built with React and Vite for optimal performance
- UI components powered by Chakra UI
- Database management with MongoDB and Mongoose
Green knowledge for a sustainable Earth 🌿