Repository navigation
Home
Welcome to the Mystical Object Emporium wiki! This is the central hub for all documentation related to the project. Here you'll find information on getting started, contributing, and understanding the architecture of the platform.
Mystical Object Emporium is a social platform built with Next.js that allows users to share and catalog mystical and unique objects. It serves as a comprehensive database and social space for collectors and enthusiasts.
- Getting Started
- Architecture
- Features
- Contributing
- FAQ
- Deployment
- API Documentation
- Component Library
- Node.js 18.x or higher
- npm/yarn/pnpm
-
Clone the repository:
git clone [repository-url]
-
Install dependencies:
npm install
-
Create a
.env.localfile:NEXT_PUBLIC_API_URL=your_api_url
-
Start the development server:
npm run dev
Visit http://localhost:3000 to see the application.
- Use
npm run lintto check for code style issues. - Use
npm run testto run the test suite.
- Frontend Framework: Next.js 14
- Language: TypeScript
- Styling: Tailwind CSS, PostCSS
- State Management: React Context
- API Communication: Axios
├── app/ # App router pages
├── components/ # Reusable components
├── contexts/ # React contexts
├── hooks/ # Custom React hooks
├── utils/ # Utility functions
└── public/ # Static assets
-
next.config.js: Configuration for Next.js -
tailwind.config.js: Tailwind CSS configuration -
tsconfig.json: TypeScript configuration -
postcss.config.js: PostCSS configuration
-
Post Creation & Management
- Share objects with detailed specifications
- Upload media attachments
- Add physical properties (dimensions, weight)
- Tag materials, colors, and shapes
- Integrate WikiData labels for semantic categorization
- Custom tagging system
- Nested commenting system
- Like/unlike posts
- User profiles
- Activity tracking
- Advanced search functionality
- Paginated post listings
- Personalized home feed
We welcome contributions to Mystical Object Emporium! Please follow these steps to contribute:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Please ensure your code adheres to our coding standards and includes tests where applicable.
Please read our Code of Conduct to understand the expectations for contributors.
This project can be deployed on Vercel with zero configuration:
- Push your code to a Git repository
- Import your project to Vercel
- Configure environment variables
- Deploy
- Netlify: Follow similar steps as Vercel.
- AWS Amplify: Requires additional configuration for serverless functions.
-
POST
/auth/login: User login -
POST
/auth/register: User registration
-
GET
/posts/main: Retrieve home posts -
GET
/posts/{id}: Retrieve a post by ID -
POST
/posts/create: Create a new post -
PUT
/posts/{id}: Update a post
-
POST
/comments/create: Create a comment -
GET
/comments/post/{postId}: Retrieve comments for a post
-
GET
/users/profile/{userId}: Retrieve user profile -
POST
/users/{userId}/avatar: Update user avatar
- Custom tag input component
- Supports adding/removing tags
- Auto-completion support
- Integration with WikiData API
- Semantic label search
- Auto-suggestions
- Dropdown component for WikiData labels
- Search and select functionality