The Witter project is a social media platform that allows users to create posts, follow friends, and interact with their community.
- User authentication and authorization
- Post creation and management
- Friend list management
- User profile management
The Witter project uses a client-server architecture, with a React-based frontend and a Node.js-based backend.
The project is divided into two main directories: client and server. The client directory contains the React frontend code, while the server directory contains the Node.js backend code.
- Frontend: React, Redux, React Router
- Backend: Node.js, Express.js, Mongoose
- Database: MongoDB
client/src/main.jsx: The main entry point of the React applicationserver/index.js: The main entry point of the Node.js applicationclient/src/components/FlexBetween.jsx: A reusable UI componentserver/controllers/posts.js: Handles post-related operations
To install the project, run npm install in the root directory, then npm run dev to start the development server.
Environment variables are stored in a .env file in the root directory.
To use the application, navigate to http://localhost:3000 in your web browser.
The application workflow involves the following steps:
- User authentication
- Post creation and management
- Friend list management
- User profile management
The Witter project uses a client-server architecture, with a React-based frontend and a Node.js-based backend.
flowchart TD
UI[User Interface] -->|request| Backend
Backend -->|response| UI
Backend -->|database| Database
Database -->|data| Backend
The application is divided into two main components: the client and the server.
The project is divided into two main directories: client and server.
The execution flow involves the following steps:
- User interacts with the UI
- UI sends a request to the backend
- Backend processes the request and interacts with the database
- Backend sends a response to the UI
- UI updates based on the response
The data flow involves the following steps:
- User inputs data into the UI
- UI sends the data to the backend
- Backend processes the data and stores it in the database
- Backend retrieves data from the database
- Backend sends the data to the UI
The main modules are:
client/src/main.jsx: The main entry point of the React applicationserver/index.js: The main entry point of the Node.js applicationclient/src/components/FlexBetween.jsx: A reusable UI componentserver/controllers/posts.js: Handles post-related operations