ActsConnect is a comprehensive full-stack web application designed for seamless interaction among users, featuring content sharing and professional networking capabilities. Built with React.js for the frontend and Spring Boot for the backend, ActsConnect offers a modern, user-friendly experience for connecting with alumni and peers.
ActsConnect is designed to facilitate connections between students, alumni, and professionals. Key features include:
- User Profiles: Users can create and manage profiles, connect with others, and share updates.
- Content Sharing: Users can post updates, articles, and media content.
- Networking: Connect with alumni and peers for advice, referrals, and networking opportunities.
- Accomodation: Students can find many places for accomodation near CDAC and contact them.
- Job Searching: Students and Alumini can post job openings that they know so that everyone can take that opportunity.
- React.js: A JavaScript library for building dynamic and interactive user interfaces.
- Material-UI: A React component library for a consistent and modern design.
- Axios: A promise-based HTTP client for API requests.
- Tailwind CSS: A utility-first CSS framework for custom styling.
- Formik: A tool for making and managing form like structure
- Spring Boot: A framework for building production-ready Java applications with minimal configuration.
- MySQL: A relational database management system for storing user data and application content.
- JWT (JSON Web Token): For secure user authentication and authorization.
- Spring Security: Provides authentication and authorization features for the application.
- Webpack: A module bundler for JavaScript applications.
- Babel: A JavaScript compiler for using modern JavaScript features.
- ESLint: A linter for identifying and fixing problems in JavaScript code.
- Prettier: A code formatter to maintain consistent code style.
Before starting, ensure you have the following installed:
- Node.js: For running the frontend.
- Java JDK: For the backend.
- Maven: A build automation tool for Java projects.
- MySQL: For managing the database.
-
Clone the repository:
git clone https://github.com/AnuragCh2016/acts-connect-fullstack.git
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies:
npm install
-
Start the development server:
npm start
-
Navigate to the backend directory:
cd backend
-
Install dependencies:
mvn install
-
Configure the
application.properties
file with your database credentials and other settings. -
Start the backend server:
mvn spring-boot:run
- Frontend Application: Our frontend was accessed it at http://localhost:3000.
- Backend API: Our backend was available at http://localhost:8080.
- Database: MySQL database is used for this application. You can use any other database as well
frontend/
├── public/
│ └── index.html
├── src/
│ ├── components/
│ ├── pages/
│ ├── App.js
│ ├── index.js
│ ├── index.css
│ ├── utils
│ ├── config
│ ├── Redux
│ ├── theam
│ ├── Routes
│ ├── App.test.js
│ └── ...
├── tailwind.config.js
├── package.json
├── package-lock.json
├── .gitignore
└── ...
Backend:
├───.idea
├───.mvn
│ └───wrapper
├───src
│ ├───main
│ │ ├───java
│ │ │ └───com
│ │ │ └───connect
│ │ │ └───acts
│ │ │ └───ActsConnectBackend
│ │ │ ├───config
│ │ │ ├───controller
│ │ │ ├───dto
│ │ │ ├───model
│ │ │ ├───repo
│ │ │ ├───security
│ │ │ ├───service
│ │ │ └───utils
│ │ └───resources
│ └───test
│ └───java
│ └───com
│ └───connect
│ └───acts
│ └───ActsConnectBackend
└───target
├───classes
│ └───com
│ └───connect
│ └───acts
│ └───ActsConnectBackend
│ ├───config
│ ├───controller
│ ├───dto
│ ├───model
│ ├───repo
│ ├───security
│ ├───service
│ └───utils
└───generated-sources
└───annotations
The application provides the following API endpoints:
GET /api/posts
- Retrieve all posts.POST /api/posts
- Create a new post.GET /api/posts/{id}
- Retrieve a single post by ID.PUT /api/posts/{id}
- Update a post by ID.DELETE /api/posts/{id}
- Delete a post by ID.POST /api/auth
- Authenticate a user and return a JWT.
We welcome contributions to improve ActsConnect! To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Make your changes.
- Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature/your-feature
). - Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.